diff --git a/latest.html b/latest.html index e56e63117..841cee368 100644 --- a/latest.html +++ b/latest.html @@ -1,3 +1,3 @@ - + Coverage report redirect... diff --git a/reports/20230214_7887212bda/htmlcov/coverage_html.js b/reports/20230214_7887212bda/htmlcov/coverage_html.js new file mode 100644 index 000000000..1c4eb9881 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/coverage_html.js @@ -0,0 +1,604 @@ +// Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 +// For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt + +// Coverage.py HTML report browser code. +/*jslint browser: true, sloppy: true, vars: true, plusplus: true, maxerr: 50, indent: 4 */ +/*global coverage: true, document, window, $ */ + +coverage = {}; + +// General helpers +function debounce(callback, wait) { + let timeoutId = null; + return function(...args) { + clearTimeout(timeoutId); + timeoutId = setTimeout(() => { + callback.apply(this, args); + }, wait); + }; +}; + +function checkVisible(element) { + const rect = element.getBoundingClientRect(); + const viewBottom = Math.max(document.documentElement.clientHeight, window.innerHeight); + const viewTop = 30; + return !(rect.bottom < viewTop || rect.top >= viewBottom); +} + +function on_click(sel, fn) { + const elt = document.querySelector(sel); + if (elt) { + elt.addEventListener("click", fn); + } +} + +// Helpers for table sorting +function getCellValue(row, column = 0) { + const cell = row.cells[column] + if (cell.childElementCount == 1) { + const child = cell.firstElementChild + if (child instanceof HTMLTimeElement && child.dateTime) { + return child.dateTime + } else if (child instanceof HTMLDataElement && child.value) { + return child.value + } + } + return cell.innerText || cell.textContent; +} + +function rowComparator(rowA, rowB, column = 0) { + let valueA = getCellValue(rowA, column); + let valueB = getCellValue(rowB, column); + if (!isNaN(valueA) && !isNaN(valueB)) { + return valueA - valueB + } + return valueA.localeCompare(valueB, undefined, {numeric: true}); +} + +function sortColumn(th) { + // Get the current sorting direction of the selected header, + // clear state on other headers and then set the new sorting direction + const currentSortOrder = th.getAttribute("aria-sort"); + [...th.parentElement.cells].forEach(header => header.setAttribute("aria-sort", "none")); + if (currentSortOrder === "none") { + th.setAttribute("aria-sort", th.dataset.defaultSortOrder || "ascending"); + } else { + th.setAttribute("aria-sort", currentSortOrder === "ascending" ? "descending" : "ascending"); + } + + const column = [...th.parentElement.cells].indexOf(th) + + // Sort all rows and afterwards append them in order to move them in the DOM + Array.from(th.closest("table").querySelectorAll("tbody tr")) + .sort((rowA, rowB) => rowComparator(rowA, rowB, column) * (th.getAttribute("aria-sort") === "ascending" ? 1 : -1)) + .forEach(tr => tr.parentElement.appendChild(tr) ); +} + +// Find all the elements with data-shortcut attribute, and use them to assign a shortcut key. +coverage.assign_shortkeys = function () { + document.querySelectorAll("[data-shortcut]").forEach(element => { + document.addEventListener("keypress", event => { + if (event.target.tagName.toLowerCase() === "input") { + return; // ignore keypress from search filter + } + if (event.key === element.dataset.shortcut) { + element.click(); + } + }); + }); +}; + +// Create the events for the filter box. +coverage.wire_up_filter = function () { + // Cache elements. + const table = document.querySelector("table.index"); + const table_body_rows = table.querySelectorAll("tbody tr"); + const no_rows = document.getElementById("no_rows"); + + // Observe filter keyevents. + document.getElementById("filter").addEventListener("input", debounce(event => { + // Keep running total of each metric, first index contains number of shown rows + const totals = new Array(table.rows[0].cells.length).fill(0); + // Accumulate the percentage as fraction + totals[totals.length - 1] = { "numer": 0, "denom": 0 }; + + // Hide / show elements. + table_body_rows.forEach(row => { + if (!row.cells[0].textContent.includes(event.target.value)) { + // hide + row.classList.add("hidden"); + return; + } + + // show + row.classList.remove("hidden"); + totals[0]++; + + for (let column = 1; column < totals.length; column++) { + // Accumulate dynamic totals + cell = row.cells[column] + if (column === totals.length - 1) { + // Last column contains percentage + const [numer, denom] = cell.dataset.ratio.split(" "); + totals[column]["numer"] += parseInt(numer, 10); + totals[column]["denom"] += parseInt(denom, 10); + } else { + totals[column] += parseInt(cell.textContent, 10); + } + } + }); + + // Show placeholder if no rows will be displayed. + if (!totals[0]) { + // Show placeholder, hide table. + no_rows.style.display = "block"; + table.style.display = "none"; + return; + } + + // Hide placeholder, show table. + no_rows.style.display = null; + table.style.display = null; + + const footer = table.tFoot.rows[0]; + // Calculate new dynamic sum values based on visible rows. + for (let column = 1; column < totals.length; column++) { + // Get footer cell element. + const cell = footer.cells[column]; + + // Set value into dynamic footer cell element. + if (column === totals.length - 1) { + // Percentage column uses the numerator and denominator, + // and adapts to the number of decimal places. + const match = /\.([0-9]+)/.exec(cell.textContent); + const places = match ? match[1].length : 0; + const { numer, denom } = totals[column]; + cell.dataset.ratio = `${numer} ${denom}`; + // Check denom to prevent NaN if filtered files contain no statements + cell.textContent = denom + ? `${(numer * 100 / denom).toFixed(places)}%` + : `${(100).toFixed(places)}%`; + } else { + cell.textContent = totals[column]; + } + } + })); + + // Trigger change event on setup, to force filter on page refresh + // (filter value may still be present). + document.getElementById("filter").dispatchEvent(new Event("input")); +}; + +coverage.INDEX_SORT_STORAGE = "COVERAGE_INDEX_SORT_2"; + +// Loaded on index.html +coverage.index_ready = function () { + coverage.assign_shortkeys(); + coverage.wire_up_filter(); + document.querySelectorAll("[data-sortable] th[aria-sort]").forEach( + th => th.addEventListener("click", e => sortColumn(e.target)) + ); + + // Look for a localStorage item containing previous sort settings: + const stored_list = localStorage.getItem(coverage.INDEX_SORT_STORAGE); + + if (stored_list) { + const {column, direction} = JSON.parse(stored_list); + const th = document.querySelector("[data-sortable]").tHead.rows[0].cells[column]; + th.setAttribute("aria-sort", direction === "ascending" ? "descending" : "ascending"); + th.click() + } + + // Watch for page unload events so we can save the final sort settings: + window.addEventListener("unload", function () { + const th = document.querySelector('[data-sortable] th[aria-sort="ascending"], [data-sortable] [aria-sort="descending"]'); + if (!th) { + return; + } + localStorage.setItem(coverage.INDEX_SORT_STORAGE, JSON.stringify({ + column: [...th.parentElement.cells].indexOf(th), + direction: th.getAttribute("aria-sort"), + })); + }); + + on_click(".button_prev_file", coverage.to_prev_file); + on_click(".button_next_file", coverage.to_next_file); + + on_click(".button_show_hide_help", coverage.show_hide_help); +}; + +// -- pyfile stuff -- + +coverage.LINE_FILTERS_STORAGE = "COVERAGE_LINE_FILTERS"; + +coverage.pyfile_ready = function () { + // If we're directed to a particular line number, highlight the line. + var frag = location.hash; + if (frag.length > 2 && frag[1] === 't') { + document.querySelector(frag).closest(".n").classList.add("highlight"); + coverage.set_sel(parseInt(frag.substr(2), 10)); + } else { + coverage.set_sel(0); + } + + on_click(".button_toggle_run", coverage.toggle_lines); + on_click(".button_toggle_mis", coverage.toggle_lines); + on_click(".button_toggle_exc", coverage.toggle_lines); + on_click(".button_toggle_par", coverage.toggle_lines); + + on_click(".button_next_chunk", coverage.to_next_chunk_nicely); + on_click(".button_prev_chunk", coverage.to_prev_chunk_nicely); + on_click(".button_top_of_page", coverage.to_top); + on_click(".button_first_chunk", coverage.to_first_chunk); + + on_click(".button_prev_file", coverage.to_prev_file); + on_click(".button_next_file", coverage.to_next_file); + on_click(".button_to_index", coverage.to_index); + + on_click(".button_show_hide_help", coverage.show_hide_help); + + coverage.filters = undefined; + try { + coverage.filters = localStorage.getItem(coverage.LINE_FILTERS_STORAGE); + } catch(err) {} + + if (coverage.filters) { + coverage.filters = JSON.parse(coverage.filters); + } + else { + coverage.filters = {run: false, exc: true, mis: true, par: true}; + } + + for (cls in coverage.filters) { + coverage.set_line_visibilty(cls, coverage.filters[cls]); + } + + coverage.assign_shortkeys(); + coverage.init_scroll_markers(); + coverage.wire_up_sticky_header(); + + // Rebuild scroll markers when the window height changes. + window.addEventListener("resize", coverage.build_scroll_markers); +}; + +coverage.toggle_lines = function (event) { + const btn = event.target.closest("button"); + const category = btn.value + const show = !btn.classList.contains("show_" + category); + coverage.set_line_visibilty(category, show); + coverage.build_scroll_markers(); + coverage.filters[category] = show; + try { + localStorage.setItem(coverage.LINE_FILTERS_STORAGE, JSON.stringify(coverage.filters)); + } catch(err) {} +}; + +coverage.set_line_visibilty = function (category, should_show) { + const cls = "show_" + category; + const btn = document.querySelector(".button_toggle_" + category); + if (btn) { + if (should_show) { + document.querySelectorAll("#source ." + category).forEach(e => e.classList.add(cls)); + btn.classList.add(cls); + } + else { + document.querySelectorAll("#source ." + category).forEach(e => e.classList.remove(cls)); + btn.classList.remove(cls); + } + } +}; + +// Return the nth line div. +coverage.line_elt = function (n) { + return document.getElementById("t" + n)?.closest("p"); +}; + +// Set the selection. b and e are line numbers. +coverage.set_sel = function (b, e) { + // The first line selected. + coverage.sel_begin = b; + // The next line not selected. + coverage.sel_end = (e === undefined) ? b+1 : e; +}; + +coverage.to_top = function () { + coverage.set_sel(0, 1); + coverage.scroll_window(0); +}; + +coverage.to_first_chunk = function () { + coverage.set_sel(0, 1); + coverage.to_next_chunk(); +}; + +coverage.to_prev_file = function () { + window.location = document.getElementById("prevFileLink").href; +} + +coverage.to_next_file = function () { + window.location = document.getElementById("nextFileLink").href; +} + +coverage.to_index = function () { + location.href = document.getElementById("indexLink").href; +} + +coverage.show_hide_help = function () { + const helpCheck = document.getElementById("help_panel_state") + helpCheck.checked = !helpCheck.checked; +} + +// Return a string indicating what kind of chunk this line belongs to, +// or null if not a chunk. +coverage.chunk_indicator = function (line_elt) { + const classes = line_elt?.className; + if (!classes) { + return null; + } + const match = classes.match(/\bshow_\w+\b/); + if (!match) { + return null; + } + return match[0]; +}; + +coverage.to_next_chunk = function () { + const c = coverage; + + // Find the start of the next colored chunk. + var probe = c.sel_end; + var chunk_indicator, probe_line; + while (true) { + probe_line = c.line_elt(probe); + if (!probe_line) { + return; + } + chunk_indicator = c.chunk_indicator(probe_line); + if (chunk_indicator) { + break; + } + probe++; + } + + // There's a next chunk, `probe` points to it. + var begin = probe; + + // Find the end of this chunk. + var next_indicator = chunk_indicator; + while (next_indicator === chunk_indicator) { + probe++; + probe_line = c.line_elt(probe); + next_indicator = c.chunk_indicator(probe_line); + } + c.set_sel(begin, probe); + c.show_selection(); +}; + +coverage.to_prev_chunk = function () { + const c = coverage; + + // Find the end of the prev colored chunk. + var probe = c.sel_begin-1; + var probe_line = c.line_elt(probe); + if (!probe_line) { + return; + } + var chunk_indicator = c.chunk_indicator(probe_line); + while (probe > 1 && !chunk_indicator) { + probe--; + probe_line = c.line_elt(probe); + if (!probe_line) { + return; + } + chunk_indicator = c.chunk_indicator(probe_line); + } + + // There's a prev chunk, `probe` points to its last line. + var end = probe+1; + + // Find the beginning of this chunk. + var prev_indicator = chunk_indicator; + while (prev_indicator === chunk_indicator) { + probe--; + if (probe <= 0) { + return; + } + probe_line = c.line_elt(probe); + prev_indicator = c.chunk_indicator(probe_line); + } + c.set_sel(probe+1, end); + c.show_selection(); +}; + +// Returns 0, 1, or 2: how many of the two ends of the selection are on +// the screen right now? +coverage.selection_ends_on_screen = function () { + if (coverage.sel_begin === 0) { + return 0; + } + + const begin = coverage.line_elt(coverage.sel_begin); + const end = coverage.line_elt(coverage.sel_end-1); + + return ( + (checkVisible(begin) ? 1 : 0) + + (checkVisible(end) ? 1 : 0) + ); +}; + +coverage.to_next_chunk_nicely = function () { + if (coverage.selection_ends_on_screen() === 0) { + // The selection is entirely off the screen: + // Set the top line on the screen as selection. + + // This will select the top-left of the viewport + // As this is most likely the span with the line number we take the parent + const line = document.elementFromPoint(0, 0).parentElement; + if (line.parentElement !== document.getElementById("source")) { + // The element is not a source line but the header or similar + coverage.select_line_or_chunk(1); + } else { + // We extract the line number from the id + coverage.select_line_or_chunk(parseInt(line.id.substring(1), 10)); + } + } + coverage.to_next_chunk(); +}; + +coverage.to_prev_chunk_nicely = function () { + if (coverage.selection_ends_on_screen() === 0) { + // The selection is entirely off the screen: + // Set the lowest line on the screen as selection. + + // This will select the bottom-left of the viewport + // As this is most likely the span with the line number we take the parent + const line = document.elementFromPoint(document.documentElement.clientHeight-1, 0).parentElement; + if (line.parentElement !== document.getElementById("source")) { + // The element is not a source line but the header or similar + coverage.select_line_or_chunk(coverage.lines_len); + } else { + // We extract the line number from the id + coverage.select_line_or_chunk(parseInt(line.id.substring(1), 10)); + } + } + coverage.to_prev_chunk(); +}; + +// Select line number lineno, or if it is in a colored chunk, select the +// entire chunk +coverage.select_line_or_chunk = function (lineno) { + var c = coverage; + var probe_line = c.line_elt(lineno); + if (!probe_line) { + return; + } + var the_indicator = c.chunk_indicator(probe_line); + if (the_indicator) { + // The line is in a highlighted chunk. + // Search backward for the first line. + var probe = lineno; + var indicator = the_indicator; + while (probe > 0 && indicator === the_indicator) { + probe--; + probe_line = c.line_elt(probe); + if (!probe_line) { + break; + } + indicator = c.chunk_indicator(probe_line); + } + var begin = probe + 1; + + // Search forward for the last line. + probe = lineno; + indicator = the_indicator; + while (indicator === the_indicator) { + probe++; + probe_line = c.line_elt(probe); + indicator = c.chunk_indicator(probe_line); + } + + coverage.set_sel(begin, probe); + } + else { + coverage.set_sel(lineno); + } +}; + +coverage.show_selection = function () { + // Highlight the lines in the chunk + document.querySelectorAll("#source .highlight").forEach(e => e.classList.remove("highlight")); + for (let probe = coverage.sel_begin; probe < coverage.sel_end; probe++) { + coverage.line_elt(probe).querySelector(".n").classList.add("highlight"); + } + + coverage.scroll_to_selection(); +}; + +coverage.scroll_to_selection = function () { + // Scroll the page if the chunk isn't fully visible. + if (coverage.selection_ends_on_screen() < 2) { + const element = coverage.line_elt(coverage.sel_begin); + coverage.scroll_window(element.offsetTop - 60); + } +}; + +coverage.scroll_window = function (to_pos) { + window.scroll({top: to_pos, behavior: "smooth"}); +}; + +coverage.init_scroll_markers = function () { + // Init some variables + coverage.lines_len = document.querySelectorAll('#source > p').length; + + // Build html + coverage.build_scroll_markers(); +}; + +coverage.build_scroll_markers = function () { + const temp_scroll_marker = document.getElementById('scroll_marker') + if (temp_scroll_marker) temp_scroll_marker.remove(); + // Don't build markers if the window has no scroll bar. + if (document.body.scrollHeight <= window.innerHeight) { + return; + } + + const marker_scale = window.innerHeight / document.body.scrollHeight; + const line_height = Math.min(Math.max(3, window.innerHeight / coverage.lines_len), 10); + + let previous_line = -99, last_mark, last_top; + + const scroll_marker = document.createElement("div"); + scroll_marker.id = "scroll_marker"; + document.getElementById('source').querySelectorAll( + 'p.show_run, p.show_mis, p.show_exc, p.show_exc, p.show_par' + ).forEach(element => { + const line_top = Math.floor(element.offsetTop * marker_scale); + const line_number = parseInt(element.querySelector(".n a").id.substr(1)); + + if (line_number === previous_line + 1) { + // If this solid missed block just make previous mark higher. + last_mark.style.height = `${line_top + line_height - last_top}px`; + } else { + // Add colored line in scroll_marker block. + last_mark = document.createElement("div"); + last_mark.id = `m${line_number}`; + last_mark.classList.add("marker"); + last_mark.style.height = `${line_height}px`; + last_mark.style.top = `${line_top}px`; + scroll_marker.append(last_mark); + last_top = line_top; + } + + previous_line = line_number; + }); + + // Append last to prevent layout calculation + document.body.append(scroll_marker); +}; + +coverage.wire_up_sticky_header = function () { + const header = document.querySelector('header'); + const header_bottom = ( + header.querySelector('.content h2').getBoundingClientRect().top - + header.getBoundingClientRect().top + ); + + function updateHeader() { + if (window.scrollY > header_bottom) { + header.classList.add('sticky'); + } else { + header.classList.remove('sticky'); + } + } + + window.addEventListener('scroll', updateHeader); + updateHeader(); +}; + +document.addEventListener("DOMContentLoaded", () => { + if (document.body.classList.contains("indexfile")) { + coverage.index_ready(); + } else { + coverage.pyfile_ready(); + } +}); diff --git a/reports/20230214_7887212bda/htmlcov/d_0ad070bfacb99f88___init___py.html b/reports/20230214_7887212bda/htmlcov/d_0ad070bfacb99f88___init___py.html new file mode 100644 index 000000000..aab7927a6 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_0ad070bfacb99f88___init___py.html @@ -0,0 +1,99 @@ + + + + + Coverage for tests/modules/aa/bb/cc/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/aa/bb/cc/__init__.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_0ad070bfacb99f88_cfile_py.html b/reports/20230214_7887212bda/htmlcov/d_0ad070bfacb99f88_cfile_py.html new file mode 100644 index 000000000..91f4bacc6 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_0ad070bfacb99f88_cfile_py.html @@ -0,0 +1,100 @@ + + + + + Coverage for tests/modules/aa/bb/cc/cfile.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/aa/bb/cc/cfile.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# cfile.py 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_17fea1f51f923804___init___py.html b/reports/20230214_7887212bda/htmlcov/d_17fea1f51f923804___init___py.html new file mode 100644 index 000000000..bb26253f1 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_17fea1f51f923804___init___py.html @@ -0,0 +1,100 @@ + + + + + Coverage for tests/modules/aa/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/aa/__init__.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# aa 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_17fea1f51f923804_afile_py.html b/reports/20230214_7887212bda/htmlcov/d_17fea1f51f923804_afile_py.html new file mode 100644 index 000000000..eabe0fe56 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_17fea1f51f923804_afile_py.html @@ -0,0 +1,100 @@ + + + + + Coverage for tests/modules/aa/afile.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/aa/afile.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# afile.py 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce___init___py.html b/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce___init___py.html new file mode 100644 index 000000000..65608bd9b --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce___init___py.html @@ -0,0 +1,101 @@ + + + + + Coverage for tests/modules/pkg1/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/pkg1/__init__.py: + 100.000% +

+ +

+ 1 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# A simple package for testing with. 

+

2print(f"pkg1.__init__: {__name__}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce___main___py.html b/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce___main___py.html new file mode 100644 index 000000000..c3bbe7db4 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce___main___py.html @@ -0,0 +1,102 @@ + + + + + Coverage for tests/modules/pkg1/__main__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/pkg1/__main__.py: + 100.000% +

+ +

+ 2 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Used in the tests for PyRunner 

+

2import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

3print("pkg1.__main__: passed %s" % sys.argv[1]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce_runmod2_py.html b/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce_runmod2_py.html new file mode 100644 index 000000000..d88d16d97 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_3ffccc9e4958b7ce_runmod2_py.html @@ -0,0 +1,105 @@ + + + + + Coverage for tests/modules/pkg1/runmod2.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/pkg1/runmod2.py: + 100.000% +

+ +

+ 2 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4# Used in the tests for PyRunner 

+

5import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6print("runmod2: passed %s" % sys.argv[1]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74___init___py.html b/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74___init___py.html new file mode 100644 index 000000000..876a8f4fd --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74___init___py.html @@ -0,0 +1,99 @@ + + + + + Coverage for tests/modules/pkg1/sub/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/pkg1/sub/__init__.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74___main___py.html b/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74___main___py.html new file mode 100644 index 000000000..793d55d7b --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74___main___py.html @@ -0,0 +1,102 @@ + + + + + Coverage for tests/modules/pkg1/sub/__main__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/pkg1/sub/__main__.py: + 100.000% +

+ +

+ 2 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Used in the tests for PyRunner 

+

2import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

3print("pkg1.sub.__main__: passed %s" % sys.argv[1]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74_runmod3_py.html b/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74_runmod3_py.html new file mode 100644 index 000000000..1c5f1a543 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_52d120f25107ba74_runmod3_py.html @@ -0,0 +1,105 @@ + + + + + Coverage for tests/modules/pkg1/sub/runmod3.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/pkg1/sub/runmod3.py: + 100.000% +

+ +

+ 2 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4# Used in the tests for PyRunner 

+

5import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6print("runmod3: passed %s" % sys.argv[1]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7___init___py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7___init___py.html new file mode 100644 index 000000000..0f8ac0800 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7___init___py.html @@ -0,0 +1,135 @@ + + + + + Coverage for coverage/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/__init__.py: + 100.000% +

+ +

+ 14 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Code coverage measurement for Python. 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6Ned Batchelder 

+

7https://nedbatchelder.com/code/coverage 

+

8 

+

9""" 

+

10 

+

11import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from coverage.version import __version__, __url__, version_info 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15from coverage.control import Coverage, process_startup 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.data import CoverageData 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.exceptions import CoverageException 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.plugin import CoveragePlugin, FileTracer, FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.pytracer import PyTracer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21# Backward compatibility. 

+

22coverage = Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24# On Windows, we encode and decode deep enough that something goes wrong and 

+

25# the encodings.utf_8 module is loaded and then unloaded, I don't know why. 

+

26# Adding a reference here prevents it from being unloaded. Yuk. 

+

27import encodings.utf_8 # pylint: disable=wrong-import-position, wrong-import-order 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29# Because of the "from coverage.control import fooey" lines at the top of the 

+

30# file, there's an entry for coverage.coverage in sys.modules, mapped to None. 

+

31# This makes some inspection tools (like pydoc) unable to find the class 

+

32# coverage.coverage. So remove that entry. 

+

33try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 del sys.modules['coverage.coverage'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35except KeyError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7___main___py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7___main___py.html new file mode 100644 index 000000000..a830933b3 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7___main___py.html @@ -0,0 +1,107 @@ + + + + + Coverage for coverage/__main__.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/__main__.py: + 100.000% +

+ +

+ 4 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Coverage.py's main entry point.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7from coverage.cmdline import main 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

8sys.exit(main()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_annotate_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_annotate_py.html new file mode 100644 index 000000000..32ab6d77c --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_annotate_py.html @@ -0,0 +1,213 @@ + + + + + Coverage for coverage/annotate.py: 98.837% + + + + + +
+
+

+ Coverage for coverage/annotate.py: + 98.837% +

+ +

+ 60 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Source file annotation for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11from typing import Iterable, Optional, TYPE_CHECKING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from coverage.files import flat_rootname 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.misc import ensure_dir, isolate_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.plugin import FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.report import get_analysis_to_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.results import Analysis 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.types import TMorf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 from coverage import Coverage 

+

22 

+

23os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25 

+

26class AnnotateReporter: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 """Generate annotated source files showing line coverage. 

+

28 

+

29 This reporter creates annotated copies of the measured source files. Each 

+

30 .py file is copied as a .py,cover file, with a left-hand margin annotating 

+

31 each line:: 

+

32 

+

33 > def h(x): 

+

34 - if 0: #pragma: no cover 

+

35 - pass 

+

36 > if x == 1: 

+

37 ! a = 1 

+

38 > else: 

+

39 > a = 2 

+

40 

+

41 > h(2) 

+

42 

+

43 Executed lines use '>', lines not executed use '!', lines excluded from 

+

44 consideration use '-'. 

+

45 

+

46 """ 

+

47 

+

48 def __init__(self, coverage: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 self.coverage = coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 self.config = self.coverage.config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 self.directory: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 

+

53 blank_re = re.compile(r"\s*(#|$)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 else_re = re.compile(r"\s*else\s*:\s*(#|$)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 def report(self, morfs: Optional[Iterable[TMorf]], directory: Optional[str] = None) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 """Run the report. 

+

58 

+

59 See `coverage.report()` for arguments. 

+

60 

+

61 """ 

+

62 self.directory = directory 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 self.coverage.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 for fr, analysis in get_analysis_to_report(self.coverage, morfs): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 self.annotate_file(fr, analysis) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 

+

67 def annotate_file(self, fr: FileReporter, analysis: Analysis) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 """Annotate a single file. 

+

69 

+

70 `fr` is the FileReporter for the file to annotate. 

+

71 

+

72 """ 

+

73 statements = sorted(analysis.statements) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 missing = sorted(analysis.missing) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 excluded = sorted(analysis.excluded) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 

+

77 if self.directory: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 ensure_dir(self.directory) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 dest_file = os.path.join(self.directory, flat_rootname(fr.relative_filename())) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 if dest_file.endswith("_py"): 80 ↛ 82line 80 didn't jump to line 82, because the condition on line 80 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 dest_file = dest_file[:-3] + ".py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 dest_file += ",cover" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 else: 

+

84 dest_file = fr.filename + ",cover" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 

+

86 with open(dest_file, 'w', encoding='utf-8') as dest: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 i = j = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 covered = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 source = fr.source() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 for lineno, line in enumerate(source.splitlines(True), start=1): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 while i < len(statements) and statements[i] < lineno: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 i += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 while j < len(missing) and missing[j] < lineno: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 j += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 if i < len(statements) and statements[i] == lineno: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 covered = j >= len(missing) or missing[j] > lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 if self.blank_re.match(line): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 dest.write(' ') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 elif self.else_re.match(line): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 # Special logic for lines containing only 'else:'. 

+

101 if j >= len(missing): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 dest.write('> ') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 elif statements[i] == missing[j]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 dest.write('! ') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 else: 

+

106 dest.write('> ') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 elif lineno in excluded: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 dest.write('- ') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 elif covered: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 dest.write('> ') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 else: 

+

112 dest.write('! ') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 

+

114 dest.write(line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_bytecode_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_bytecode_py.html new file mode 100644 index 000000000..272f3f31e --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_bytecode_py.html @@ -0,0 +1,121 @@ + + + + + Coverage for coverage/bytecode.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/bytecode.py: + 100.000% +

+ +

+ 12 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Bytecode manipulation for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8from types import CodeType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9from typing import Iterator 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11 

+

12def code_objects(code: CodeType) -> Iterator[CodeType]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 """Iterate over all the code objects in `code`.""" 

+

14 stack = [code] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 while stack: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 # We're going to return the code object on the stack, but first 

+

17 # push its children for later returning. 

+

18 code = stack.pop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 for c in code.co_consts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 if isinstance(c, CodeType): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 stack.append(c) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 yield code 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_cmdline_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_cmdline_py.html new file mode 100644 index 000000000..8835b2d15 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_cmdline_py.html @@ -0,0 +1,1110 @@ + + + + + Coverage for coverage/cmdline.py: 99.324% + + + + + +
+
+

+ Coverage for coverage/cmdline.py: + 99.324% +

+ +

+ 315 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Command-line support for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import optparse # pylint: disable=deprecated-module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import shlex 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import traceback 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from typing import cast, Any, List, NoReturn, Optional, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage import Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.collector import HAS_CTRACER 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.config import CoverageConfig 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.control import DEFAULT_DATAFILE 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.data import combinable_files, debug_data_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.debug import info_header, short_stack, write_formatted_info 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.exceptions import _BaseCoverageException, _ExceptionDuringRun, NoSource 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28from coverage.execfile import PyRunner 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from coverage.results import Numbers, should_fail_under 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 

+

31# When adding to this file, alphabetization is important. Look for 

+

32# "alphabetize" comments throughout. 

+

33 

+

34class Opts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 """A namespace class for individual options we'll build parsers from.""" 

+

36 

+

37 # Keep these entries alphabetized (roughly) by the option name as it 

+

38 # appears on the command line. 

+

39 

+

40 append = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 '-a', '--append', action='store_true', 

+

42 help="Append coverage data to .coverage, otherwise it starts clean each time.", 

+

43 ) 

+

44 keep = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 '', '--keep', action='store_true', 

+

46 help="Keep original coverage files, otherwise they are deleted.", 

+

47 ) 

+

48 branch = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 '', '--branch', action='store_true', 

+

50 help="Measure branch coverage in addition to statement coverage.", 

+

51 ) 

+

52 concurrency = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 '', '--concurrency', action='store', metavar="LIBS", 

+

54 help=( 

+

55 "Properly measure code using a concurrency library. " + 

+

56 "Valid values are: {}, or a comma-list of them." 

+

57 ).format(", ".join(sorted(CoverageConfig.CONCURRENCY_CHOICES))), 

+

58 ) 

+

59 context = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 '', '--context', action='store', metavar="LABEL", 

+

61 help="The context label to record for this coverage run.", 

+

62 ) 

+

63 contexts = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 '', '--contexts', action='store', metavar="REGEX1,REGEX2,...", 

+

65 help=( 

+

66 "Only display data from lines covered in the given contexts. " + 

+

67 "Accepts Python regexes, which must be quoted." 

+

68 ), 

+

69 ) 

+

70 combine_datafile = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 '', '--data-file', action='store', metavar="DATAFILE", 

+

72 help=( 

+

73 "Base name of the data files to operate on. " + 

+

74 "Defaults to '.coverage'. [env: COVERAGE_FILE]" 

+

75 ), 

+

76 ) 

+

77 input_datafile = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 '', '--data-file', action='store', metavar="INFILE", 

+

79 help=( 

+

80 "Read coverage data for report generation from this file. " + 

+

81 "Defaults to '.coverage'. [env: COVERAGE_FILE]" 

+

82 ), 

+

83 ) 

+

84 output_datafile = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 '', '--data-file', action='store', metavar="OUTFILE", 

+

86 help=( 

+

87 "Write the recorded coverage data to this file. " + 

+

88 "Defaults to '.coverage'. [env: COVERAGE_FILE]" 

+

89 ), 

+

90 ) 

+

91 debug = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 '', '--debug', action='store', metavar="OPTS", 

+

93 help="Debug options, separated by commas. [env: COVERAGE_DEBUG]", 

+

94 ) 

+

95 directory = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 '-d', '--directory', action='store', metavar="DIR", 

+

97 help="Write the output files to DIR.", 

+

98 ) 

+

99 fail_under = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 '', '--fail-under', action='store', metavar="MIN", type="float", 

+

101 help="Exit with a status of 2 if the total coverage is less than MIN.", 

+

102 ) 

+

103 format = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 '', '--format', action='store', metavar="FORMAT", 

+

105 help="Output format, either text (default), markdown, or total.", 

+

106 ) 

+

107 help = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 '-h', '--help', action='store_true', 

+

109 help="Get help on this command.", 

+

110 ) 

+

111 ignore_errors = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 '-i', '--ignore-errors', action='store_true', 

+

113 help="Ignore errors while reading source files.", 

+

114 ) 

+

115 include = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 '', '--include', action='store', metavar="PAT1,PAT2,...", 

+

117 help=( 

+

118 "Include only files whose paths match one of these patterns. " + 

+

119 "Accepts shell-style wildcards, which must be quoted." 

+

120 ), 

+

121 ) 

+

122 pylib = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 '-L', '--pylib', action='store_true', 

+

124 help=( 

+

125 "Measure coverage even inside the Python installed library, " + 

+

126 "which isn't done by default." 

+

127 ), 

+

128 ) 

+

129 show_missing = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 '-m', '--show-missing', action='store_true', 

+

131 help="Show line numbers of statements in each module that weren't executed.", 

+

132 ) 

+

133 module = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 '-m', '--module', action='store_true', 

+

135 help=( 

+

136 "<pyfile> is an importable Python module, not a script path, " + 

+

137 "to be run as 'python -m' would run it." 

+

138 ), 

+

139 ) 

+

140 omit = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 '', '--omit', action='store', metavar="PAT1,PAT2,...", 

+

142 help=( 

+

143 "Omit files whose paths match one of these patterns. " + 

+

144 "Accepts shell-style wildcards, which must be quoted." 

+

145 ), 

+

146 ) 

+

147 output_xml = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 '-o', '', action='store', dest="outfile", metavar="OUTFILE", 

+

149 help="Write the XML report to this file. Defaults to 'coverage.xml'", 

+

150 ) 

+

151 output_json = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 '-o', '', action='store', dest="outfile", metavar="OUTFILE", 

+

153 help="Write the JSON report to this file. Defaults to 'coverage.json'", 

+

154 ) 

+

155 output_lcov = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 '-o', '', action='store', dest='outfile', metavar="OUTFILE", 

+

157 help="Write the LCOV report to this file. Defaults to 'coverage.lcov'", 

+

158 ) 

+

159 json_pretty_print = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 '', '--pretty-print', action='store_true', 

+

161 help="Format the JSON for human readers.", 

+

162 ) 

+

163 parallel_mode = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 '-p', '--parallel-mode', action='store_true', 

+

165 help=( 

+

166 "Append the machine name, process id and random number to the " + 

+

167 "data file name to simplify collecting data from " + 

+

168 "many processes." 

+

169 ), 

+

170 ) 

+

171 precision = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 '', '--precision', action='store', metavar='N', type=int, 

+

173 help=( 

+

174 "Number of digits after the decimal point to display for " + 

+

175 "reported coverage percentages." 

+

176 ), 

+

177 ) 

+

178 quiet = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 '-q', '--quiet', action='store_true', 

+

180 help="Don't print messages about what is happening.", 

+

181 ) 

+

182 rcfile = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 '', '--rcfile', action='store', 

+

184 help=( 

+

185 "Specify configuration file. " + 

+

186 "By default '.coveragerc', 'setup.cfg', 'tox.ini', and " + 

+

187 "'pyproject.toml' are tried. [env: COVERAGE_RCFILE]" 

+

188 ), 

+

189 ) 

+

190 show_contexts = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 '--show-contexts', action='store_true', 

+

192 help="Show contexts for covered lines.", 

+

193 ) 

+

194 skip_covered = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 '--skip-covered', action='store_true', 

+

196 help="Skip files with 100% coverage.", 

+

197 ) 

+

198 no_skip_covered = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 '--no-skip-covered', action='store_false', dest='skip_covered', 

+

200 help="Disable --skip-covered.", 

+

201 ) 

+

202 skip_empty = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 '--skip-empty', action='store_true', 

+

204 help="Skip files with no code.", 

+

205 ) 

+

206 sort = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 '--sort', action='store', metavar='COLUMN', 

+

208 help=( 

+

209 "Sort the report by the named column: name, stmts, miss, branch, brpart, or cover. " + 

+

210 "Default is name." 

+

211 ), 

+

212 ) 

+

213 source = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 '', '--source', action='store', metavar="SRC1,SRC2,...", 

+

215 help="A list of directories or importable names of code to measure.", 

+

216 ) 

+

217 timid = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 '', '--timid', action='store_true', 

+

219 help=( 

+

220 "Use a simpler but slower trace method. Try this if you get " + 

+

221 "seemingly impossible results!" 

+

222 ), 

+

223 ) 

+

224 title = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 '', '--title', action='store', metavar="TITLE", 

+

226 help="A text string to use as the title on the HTML.", 

+

227 ) 

+

228 version = optparse.make_option( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 '', '--version', action='store_true', 

+

230 help="Display version information and exit.", 

+

231 ) 

+

232 

+

233 

+

234class CoverageOptionParser(optparse.OptionParser): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 """Base OptionParser for coverage.py. 

+

236 

+

237 Problems don't exit the program. 

+

238 Defaults are initialized for all options. 

+

239 

+

240 """ 

+

241 

+

242 def __init__(self, *args: Any, **kwargs: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 kwargs["add_help_option"] = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 super().__init__(*args, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 self.set_defaults( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 # Keep these arguments alphabetized by their names. 

+

247 action=None, 

+

248 append=None, 

+

249 branch=None, 

+

250 concurrency=None, 

+

251 context=None, 

+

252 contexts=None, 

+

253 data_file=None, 

+

254 debug=None, 

+

255 directory=None, 

+

256 fail_under=None, 

+

257 format=None, 

+

258 help=None, 

+

259 ignore_errors=None, 

+

260 include=None, 

+

261 keep=None, 

+

262 module=None, 

+

263 omit=None, 

+

264 parallel_mode=None, 

+

265 precision=None, 

+

266 pylib=None, 

+

267 quiet=None, 

+

268 rcfile=True, 

+

269 show_contexts=None, 

+

270 show_missing=None, 

+

271 skip_covered=None, 

+

272 skip_empty=None, 

+

273 sort=None, 

+

274 source=None, 

+

275 timid=None, 

+

276 title=None, 

+

277 version=None, 

+

278 ) 

+

279 

+

280 self.disable_interspersed_args() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 

+

282 class OptionParserError(Exception): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 """Used to stop the optparse error handler ending the process.""" 

+

284 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 

+

286 def parse_args_ok(self, args: List[str]) -> Tuple[bool, Optional[optparse.Values], List[str]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 """Call optparse.parse_args, but return a triple: 

+

288 

+

289 (ok, options, args) 

+

290 

+

291 """ 

+

292 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 options, args = super().parse_args(args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 except self.OptionParserError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 return False, None, [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 return True, options, args 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 

+

298 def error(self, msg: str) -> NoReturn: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 """Override optparse.error so sys.exit doesn't get called.""" 

+

300 show_help(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 raise self.OptionParserError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 

+

303 

+

304class GlobalOptionParser(CoverageOptionParser): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 """Command-line parser for coverage.py global option arguments.""" 

+

306 

+

307 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 super().__init__() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 

+

310 self.add_options([ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 Opts.help, 

+

312 Opts.version, 

+

313 ]) 

+

314 

+

315 

+

316class CmdOptionParser(CoverageOptionParser): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 """Parse one of the new-style commands for coverage.py.""" 

+

318 

+

319 def __init__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

320 self, 

+

321 action: str, 

+

322 options: List[optparse.Option], 

+

323 description: str, 

+

324 usage: Optional[str] = None, 

+

325 ): 

+

326 """Create an OptionParser for a coverage.py command. 

+

327 

+

328 `action` is the slug to put into `options.action`. 

+

329 `options` is a list of Option's for the command. 

+

330 `description` is the description of the command, for the help text. 

+

331 `usage` is the usage string to display in help. 

+

332 

+

333 """ 

+

334 if usage: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 usage = "%prog " + usage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 super().__init__( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 usage=usage, 

+

338 description=description, 

+

339 ) 

+

340 self.set_defaults(action=action) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 self.add_options(options) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 self.cmd = action 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 

+

344 def __eq__(self, other: str) -> bool: # type: ignore[override] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 # A convenience equality, so that I can put strings in unit test 

+

346 # results, and they will compare equal to objects. 

+

347 return (other == f"<CmdOptionParser:{self.cmd}>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 

+

349 __hash__ = None # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 

+

351 def get_prog_name(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 """Override of an undocumented function in optparse.OptionParser.""" 

+

353 program_name = super().get_prog_name() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 

+

355 # Include the sub-command for this parser as part of the command. 

+

356 return f"{program_name} {self.cmd}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 

+

358# In lists of Opts, keep them alphabetized by the option names as they appear 

+

359# on the command line, since these lists determine the order of the options in 

+

360# the help output. 

+

361# 

+

362# In COMMANDS, keep the keys (command names) alphabetized. 

+

363 

+

364GLOBAL_ARGS = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 Opts.debug, 

+

366 Opts.help, 

+

367 Opts.rcfile, 

+

368] 

+

369 

+

370COMMANDS = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 'annotate': CmdOptionParser( 

+

372 "annotate", 

+

373 [ 

+

374 Opts.directory, 

+

375 Opts.input_datafile, 

+

376 Opts.ignore_errors, 

+

377 Opts.include, 

+

378 Opts.omit, 

+

379 ] + GLOBAL_ARGS, 

+

380 usage="[options] [modules]", 

+

381 description=( 

+

382 "Make annotated copies of the given files, marking statements that are executed " + 

+

383 "with > and statements that are missed with !." 

+

384 ), 

+

385 ), 

+

386 

+

387 'combine': CmdOptionParser( 

+

388 "combine", 

+

389 [ 

+

390 Opts.append, 

+

391 Opts.combine_datafile, 

+

392 Opts.keep, 

+

393 Opts.quiet, 

+

394 ] + GLOBAL_ARGS, 

+

395 usage="[options] <path1> <path2> ... <pathN>", 

+

396 description=( 

+

397 "Combine data from multiple coverage files. " + 

+

398 "The combined results are written to a single " + 

+

399 "file representing the union of the data. The positional " + 

+

400 "arguments are data files or directories containing data files. " + 

+

401 "If no paths are provided, data files in the default data file's " + 

+

402 "directory are combined." 

+

403 ), 

+

404 ), 

+

405 

+

406 'debug': CmdOptionParser( 

+

407 "debug", GLOBAL_ARGS, 

+

408 usage="<topic>", 

+

409 description=( 

+

410 "Display information about the internals of coverage.py, " + 

+

411 "for diagnosing problems. " + 

+

412 "Topics are: " + 

+

413 "'data' to show a summary of the collected data; " + 

+

414 "'sys' to show installation information; " + 

+

415 "'config' to show the configuration; " + 

+

416 "'premain' to show what is calling coverage; " + 

+

417 "'pybehave' to show internal flags describing Python behavior." 

+

418 ), 

+

419 ), 

+

420 

+

421 'erase': CmdOptionParser( 

+

422 "erase", 

+

423 [ 

+

424 Opts.combine_datafile 

+

425 ] + GLOBAL_ARGS, 

+

426 description="Erase previously collected coverage data.", 

+

427 ), 

+

428 

+

429 'help': CmdOptionParser( 

+

430 "help", GLOBAL_ARGS, 

+

431 usage="[command]", 

+

432 description="Describe how to use coverage.py", 

+

433 ), 

+

434 

+

435 'html': CmdOptionParser( 

+

436 "html", 

+

437 [ 

+

438 Opts.contexts, 

+

439 Opts.directory, 

+

440 Opts.input_datafile, 

+

441 Opts.fail_under, 

+

442 Opts.ignore_errors, 

+

443 Opts.include, 

+

444 Opts.omit, 

+

445 Opts.precision, 

+

446 Opts.quiet, 

+

447 Opts.show_contexts, 

+

448 Opts.skip_covered, 

+

449 Opts.no_skip_covered, 

+

450 Opts.skip_empty, 

+

451 Opts.title, 

+

452 ] + GLOBAL_ARGS, 

+

453 usage="[options] [modules]", 

+

454 description=( 

+

455 "Create an HTML report of the coverage of the files. " + 

+

456 "Each file gets its own page, with the source decorated to show " + 

+

457 "executed, excluded, and missed lines." 

+

458 ), 

+

459 ), 

+

460 

+

461 'json': CmdOptionParser( 

+

462 "json", 

+

463 [ 

+

464 Opts.contexts, 

+

465 Opts.input_datafile, 

+

466 Opts.fail_under, 

+

467 Opts.ignore_errors, 

+

468 Opts.include, 

+

469 Opts.omit, 

+

470 Opts.output_json, 

+

471 Opts.json_pretty_print, 

+

472 Opts.quiet, 

+

473 Opts.show_contexts, 

+

474 ] + GLOBAL_ARGS, 

+

475 usage="[options] [modules]", 

+

476 description="Generate a JSON report of coverage results.", 

+

477 ), 

+

478 

+

479 'lcov': CmdOptionParser( 

+

480 "lcov", 

+

481 [ 

+

482 Opts.input_datafile, 

+

483 Opts.fail_under, 

+

484 Opts.ignore_errors, 

+

485 Opts.include, 

+

486 Opts.output_lcov, 

+

487 Opts.omit, 

+

488 Opts.quiet, 

+

489 ] + GLOBAL_ARGS, 

+

490 usage="[options] [modules]", 

+

491 description="Generate an LCOV report of coverage results.", 

+

492 ), 

+

493 

+

494 'report': CmdOptionParser( 

+

495 "report", 

+

496 [ 

+

497 Opts.contexts, 

+

498 Opts.input_datafile, 

+

499 Opts.fail_under, 

+

500 Opts.format, 

+

501 Opts.ignore_errors, 

+

502 Opts.include, 

+

503 Opts.omit, 

+

504 Opts.precision, 

+

505 Opts.sort, 

+

506 Opts.show_missing, 

+

507 Opts.skip_covered, 

+

508 Opts.no_skip_covered, 

+

509 Opts.skip_empty, 

+

510 ] + GLOBAL_ARGS, 

+

511 usage="[options] [modules]", 

+

512 description="Report coverage statistics on modules.", 

+

513 ), 

+

514 

+

515 'run': CmdOptionParser( 

+

516 "run", 

+

517 [ 

+

518 Opts.append, 

+

519 Opts.branch, 

+

520 Opts.concurrency, 

+

521 Opts.context, 

+

522 Opts.output_datafile, 

+

523 Opts.include, 

+

524 Opts.module, 

+

525 Opts.omit, 

+

526 Opts.pylib, 

+

527 Opts.parallel_mode, 

+

528 Opts.source, 

+

529 Opts.timid, 

+

530 ] + GLOBAL_ARGS, 

+

531 usage="[options] <pyfile> [program options]", 

+

532 description="Run a Python program, measuring code execution.", 

+

533 ), 

+

534 

+

535 'xml': CmdOptionParser( 

+

536 "xml", 

+

537 [ 

+

538 Opts.input_datafile, 

+

539 Opts.fail_under, 

+

540 Opts.ignore_errors, 

+

541 Opts.include, 

+

542 Opts.omit, 

+

543 Opts.output_xml, 

+

544 Opts.quiet, 

+

545 Opts.skip_empty, 

+

546 ] + GLOBAL_ARGS, 

+

547 usage="[options] [modules]", 

+

548 description="Generate an XML report of coverage results.", 

+

549 ), 

+

550} 

+

551 

+

552 

+

553def show_help( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

554 error: Optional[str] = None, 

+

555 topic: Optional[str] = None, 

+

556 parser: Optional[optparse.OptionParser] = None, 

+

557) -> None: 

+

558 """Display an error message, or the named topic.""" 

+

559 assert error or topic or parser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

560 

+

561 program_path = sys.argv[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

562 if program_path.endswith(os.path.sep + '__main__.py'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 # The path is the main module of a package; get that path instead. 

+

564 program_path = os.path.dirname(program_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 program_name = os.path.basename(program_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 if env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

567 # entry_points={'console_scripts':...} on Windows makes files 

+

568 # called coverage.exe, coverage3.exe, and coverage-3.5.exe. These 

+

569 # invoke coverage-script.py, coverage3-script.py, and 

+

570 # coverage-3.5-script.py. argv[0] is the .py file, but we want to 

+

571 # get back to the original form. 

+

572 auto_suffix = "-script.py" 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

573 if program_name.endswith(auto_suffix): 573 ↛ 574line 573 didn't jump to line 574, because the condition on line 573 was never true3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

574 program_name = program_name[:-len(auto_suffix)] 

+

575 

+

576 help_params = dict(coverage.__dict__) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

577 help_params['program_name'] = program_name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

578 if HAS_CTRACER: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 help_params['extension_modifier'] = 'with C extension' 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

580 else: 

+

581 help_params['extension_modifier'] = 'without C extension' 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

582 

+

583 if error: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

584 print(error, file=sys.stderr) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

585 print(f"Use '{program_name} help' for help.", file=sys.stderr) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

586 elif parser: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

587 print(parser.format_help().strip()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 print() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

589 else: 

+

590 assert topic is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 help_msg = textwrap.dedent(HELP_TOPICS.get(topic, '')).strip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

592 if help_msg: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 print(help_msg.format(**help_params)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

594 else: 

+

595 print(f"Don't know topic {topic!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

596 print("Full documentation is at {__url__}".format(**help_params)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

597 

+

598 

+

599OK, ERR, FAIL_UNDER = 0, 1, 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

600 

+

601 

+

602class CoverageScript: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

603 """The command-line interface to coverage.py.""" 

+

604 

+

605 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 self.global_option = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

607 self.coverage: Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

608 

+

609 def command_line(self, argv: List[str]) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

610 """The bulk of the command line interface to coverage.py. 

+

611 

+

612 `argv` is the argument list to process. 

+

613 

+

614 Returns 0 if all is well, 1 if something went wrong. 

+

615 

+

616 """ 

+

617 # Collect the command-line options. 

+

618 if not argv: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

619 show_help(topic='minimum_help') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

620 return OK 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

621 

+

622 # The command syntax we parse depends on the first argument. Global 

+

623 # switch syntax always starts with an option. 

+

624 parser: Optional[optparse.OptionParser] 

+

625 self.global_option = argv[0].startswith('-') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

626 if self.global_option: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 parser = GlobalOptionParser() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

628 else: 

+

629 parser = COMMANDS.get(argv[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 if not parser: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

631 show_help(f"Unknown command: {argv[0]!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

632 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 argv = argv[1:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

634 

+

635 ok, options, args = parser.parse_args_ok(argv) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

636 if not ok: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

637 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

638 assert options is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 

+

640 # Handle help and version. 

+

641 if self.do_help(options, args, parser): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

642 return OK 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

643 

+

644 # Listify the list options. 

+

645 source = unshell_list(options.source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 omit = unshell_list(options.omit) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

647 include = unshell_list(options.include) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

648 debug = unshell_list(options.debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 contexts = unshell_list(options.contexts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

650 

+

651 if options.concurrency is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

652 concurrency = options.concurrency.split(",") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

653 else: 

+

654 concurrency = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

655 

+

656 # Do something. 

+

657 self.coverage = Coverage( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

658 data_file=options.data_file or DEFAULT_DATAFILE, 

+

659 data_suffix=options.parallel_mode, 

+

660 cover_pylib=options.pylib, 

+

661 timid=options.timid, 

+

662 branch=options.branch, 

+

663 config_file=options.rcfile, 

+

664 source=source, 

+

665 omit=omit, 

+

666 include=include, 

+

667 debug=debug, 

+

668 concurrency=concurrency, 

+

669 check_preimported=True, 

+

670 context=options.context, 

+

671 messages=not options.quiet, 

+

672 ) 

+

673 

+

674 if options.action == "debug": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 return self.do_debug(args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

676 

+

677 elif options.action == "erase": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

678 self.coverage.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 return OK 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

680 

+

681 elif options.action == "run": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

682 return self.do_run(options, args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

683 

+

684 elif options.action == "combine": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 if options.append: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

686 self.coverage.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

687 data_paths = args or None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

688 self.coverage.combine(data_paths, strict=True, keep=bool(options.keep)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

689 self.coverage.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

690 return OK 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

691 

+

692 # Remaining actions are reporting, with some common options. 

+

693 report_args = dict( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

694 morfs=unglob_args(args), 

+

695 ignore_errors=options.ignore_errors, 

+

696 omit=omit, 

+

697 include=include, 

+

698 contexts=contexts, 

+

699 ) 

+

700 

+

701 # We need to be able to import from the current directory, because 

+

702 # plugins may try to, for example, to read Django settings. 

+

703 sys.path.insert(0, '') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

704 

+

705 self.coverage.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

706 

+

707 total = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

708 if options.action == "report": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

709 total = self.coverage.report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 precision=options.precision, 

+

711 show_missing=options.show_missing, 

+

712 skip_covered=options.skip_covered, 

+

713 skip_empty=options.skip_empty, 

+

714 sort=options.sort, 

+

715 output_format=options.format, 

+

716 **report_args 

+

717 ) 

+

718 elif options.action == "annotate": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

719 self.coverage.annotate(directory=options.directory, **report_args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

720 elif options.action == "html": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

721 total = self.coverage.html_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

722 directory=options.directory, 

+

723 precision=options.precision, 

+

724 skip_covered=options.skip_covered, 

+

725 skip_empty=options.skip_empty, 

+

726 show_contexts=options.show_contexts, 

+

727 title=options.title, 

+

728 **report_args 

+

729 ) 

+

730 elif options.action == "xml": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

731 total = self.coverage.xml_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

732 outfile=options.outfile, 

+

733 skip_empty=options.skip_empty, 

+

734 **report_args 

+

735 ) 

+

736 elif options.action == "json": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

737 total = self.coverage.json_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

738 outfile=options.outfile, 

+

739 pretty_print=options.pretty_print, 

+

740 show_contexts=options.show_contexts, 

+

741 **report_args 

+

742 ) 

+

743 elif options.action == "lcov": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

744 total = self.coverage.lcov_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

745 outfile=options.outfile, 

+

746 **report_args 

+

747 ) 

+

748 else: 

+

749 # There are no other possible actions. 

+

750 raise AssertionError 

+

751 

+

752 if total is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

753 # Apply the command line fail-under options, and then use the config 

+

754 # value, so we can get fail_under from the config file. 

+

755 if options.fail_under is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

756 self.coverage.set_option("report:fail_under", options.fail_under) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 if options.precision is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

758 self.coverage.set_option("report:precision", options.precision) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

759 

+

760 fail_under = cast(float, self.coverage.get_option("report:fail_under")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

761 precision = cast(int, self.coverage.get_option("report:precision")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

762 if should_fail_under(total, fail_under, precision): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

763 msg = "total of {total} is less than fail-under={fail_under:.{p}f}".format( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

764 total=Numbers(precision=precision).display_covered(total), 

+

765 fail_under=fail_under, 

+

766 p=precision, 

+

767 ) 

+

768 print("Coverage failure:", msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

769 return FAIL_UNDER 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

770 

+

771 return OK 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

772 

+

773 def do_help( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

774 self, 

+

775 options: optparse.Values, 

+

776 args: List[str], 

+

777 parser: optparse.OptionParser, 

+

778 ) -> bool: 

+

779 """Deal with help requests. 

+

780 

+

781 Return True if it handled the request, False if not. 

+

782 

+

783 """ 

+

784 # Handle help. 

+

785 if options.help: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

786 if self.global_option: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

787 show_help(topic='help') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

788 else: 

+

789 show_help(parser=parser) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

790 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

791 

+

792 if options.action == "help": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

793 if args: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

794 for a in args: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

795 parser_maybe = COMMANDS.get(a) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

796 if parser_maybe is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

797 show_help(parser=parser_maybe) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

798 else: 

+

799 show_help(topic=a) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

800 else: 

+

801 show_help(topic='help') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

802 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

803 

+

804 # Handle version. 

+

805 if options.version: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

806 show_help(topic='version') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

807 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

808 

+

809 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

810 

+

811 def do_run(self, options: optparse.Values, args: List[str]) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

812 """Implementation of 'coverage run'.""" 

+

813 

+

814 if not args: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

815 if options.module: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

816 # Specified -m with nothing else. 

+

817 show_help("No module specified for -m") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

818 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

819 command_line = cast(str, self.coverage.get_option("run:command_line")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

820 if command_line is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

821 args = shlex.split(command_line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

822 if args and args[0] in {"-m", "--module"}: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

823 options.module = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

824 args = args[1:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

825 if not args: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

826 show_help("Nothing to do.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

827 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

828 

+

829 if options.append and self.coverage.get_option("run:parallel"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

830 show_help("Can't append to data files in parallel mode.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

831 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

832 

+

833 if options.concurrency == "multiprocessing": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

834 # Can't set other run-affecting command line options with 

+

835 # multiprocessing. 

+

836 for opt_name in ['branch', 'include', 'omit', 'pylib', 'source', 'timid']: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

837 # As it happens, all of these options have no default, meaning 

+

838 # they will be None if they have not been specified. 

+

839 if getattr(options, opt_name) is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

840 show_help( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

841 "Options affecting multiprocessing must only be specified " + 

+

842 "in a configuration file.\n" + 

+

843 f"Remove --{opt_name} from the command line." 

+

844 ) 

+

845 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

846 

+

847 os.environ["COVERAGE_RUN"] = "true" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

848 

+

849 runner = PyRunner(args, as_module=bool(options.module)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

850 runner.prepare() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

851 

+

852 if options.append: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

853 self.coverage.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

854 

+

855 # Run the script. 

+

856 self.coverage.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

857 code_ran = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

858 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

859 runner.run() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

860 except NoSource: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

861 code_ran = False 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

862 raise 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

863 finally: 

+

864 self.coverage.stop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

865 if code_ran: 865 ↛ 868line 865 didn't jump to line 868, because the condition on line 865 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

866 self.coverage.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

867 

+

868 return OK 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

869 

+

870 def do_debug(self, args: List[str]) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

871 """Implementation of 'coverage debug'.""" 

+

872 

+

873 if not args: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

874 show_help("What information would you like: config, data, sys, premain, pybehave?") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

875 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

876 if args[1:]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

877 show_help("Only one topic at a time, please") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

878 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

879 

+

880 if args[0] == "sys": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

881 write_formatted_info(print, "sys", self.coverage.sys_info()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

882 elif args[0] == "data": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

883 print(info_header("data")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

884 data_file = self.coverage.config.data_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

885 debug_data_file(data_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

886 for filename in combinable_files(data_file): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

887 print("-----") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

888 debug_data_file(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

889 elif args[0] == "config": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

890 write_formatted_info(print, "config", self.coverage.config.debug_info()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

891 elif args[0] == "premain": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

892 print(info_header("premain")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

893 print(short_stack()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

894 elif args[0] == "pybehave": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

895 write_formatted_info(print, "pybehave", env.debug_info()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

896 else: 

+

897 show_help(f"Don't know what you mean by {args[0]!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

898 return ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

899 

+

900 return OK 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

901 

+

902 

+

903def unshell_list(s: str) -> Optional[List[str]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

904 """Turn a command-line argument into a list.""" 

+

905 if not s: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

906 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

907 if env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

908 # When running coverage.py as coverage.exe, some of the behavior 

+

909 # of the shell is emulated: wildcards are expanded into a list of 

+

910 # file names. So you have to single-quote patterns on the command 

+

911 # line, but (not) helpfully, the single quotes are included in the 

+

912 # argument, so we have to strip them off here. 

+

913 s = s.strip("'") 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

914 return s.split(',') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

915 

+

916 

+

917def unglob_args(args: List[str]) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

918 """Interpret shell wildcards for platforms that need it.""" 

+

919 if env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

920 globbed = [] 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

921 for arg in args: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

922 if '?' in arg or '*' in arg: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

923 globbed.extend(glob.glob(arg)) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

924 else: 

+

925 globbed.append(arg) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

926 args = globbed 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

927 return args 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

928 

+

929 

+

930HELP_TOPICS = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

931 'help': """\ 

+

932 Coverage.py, version {__version__} {extension_modifier} 

+

933 Measure, collect, and report on code coverage in Python programs. 

+

934 

+

935 usage: {program_name} <command> [options] [args] 

+

936 

+

937 Commands: 

+

938 annotate Annotate source files with execution information. 

+

939 combine Combine a number of data files. 

+

940 debug Display information about the internals of coverage.py 

+

941 erase Erase previously collected coverage data. 

+

942 help Get help on using coverage.py. 

+

943 html Create an HTML report. 

+

944 json Create a JSON report of coverage results. 

+

945 lcov Create an LCOV report of coverage results. 

+

946 report Report coverage stats on modules. 

+

947 run Run a Python program and measure code execution. 

+

948 xml Create an XML report of coverage results. 

+

949 

+

950 Use "{program_name} help <command>" for detailed help on any command. 

+

951 """, 

+

952 

+

953 'minimum_help': """\ 

+

954 Code coverage for Python, version {__version__} {extension_modifier}. Use '{program_name} help' for help. 

+

955 """, 

+

956 

+

957 'version': """\ 

+

958 Coverage.py, version {__version__} {extension_modifier} 

+

959 """, 

+

960} 

+

961 

+

962 

+

963def main(argv: Optional[List[str]] = None) -> Optional[int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

964 """The main entry point to coverage.py. 

+

965 

+

966 This is installed as the script entry point. 

+

967 

+

968 """ 

+

969 if argv is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

970 argv = sys.argv[1:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

971 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

972 status = CoverageScript().command_line(argv) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

973 except _ExceptionDuringRun as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

974 # An exception was caught while running the product code. The 

+

975 # sys.exc_info() return tuple is packed into an _ExceptionDuringRun 

+

976 # exception. 

+

977 traceback.print_exception(*err.args) # pylint: disable=no-value-for-parameter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

978 status = ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

979 except _BaseCoverageException as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

980 # A controlled error inside coverage.py: print the message to the user. 

+

981 msg = err.args[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

982 print(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

983 status = ERR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

984 except SystemExit as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

985 # The user called `sys.exit()`. Exit with their argument, if any. 

+

986 if err.args: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

987 status = err.args[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

988 else: 

+

989 status = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

990 return status 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

991 

+

992# Profiling using ox_profile. Install it from GitHub: 

+

993# pip install git+https://github.com/emin63/ox_profile.git 

+

994# 

+

995# $set_env.py: COVERAGE_PROFILE - Set to use ox_profile. 

+

996_profile = os.environ.get("COVERAGE_PROFILE", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

997if _profile: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

998 from ox_profile.core.launchers import SimpleLauncher # pylint: disable=import-error 

+

999 original_main = main 

+

1000 

+

1001 def main( # pylint: disable=function-redefined 

+

1002 argv: Optional[List[str]] = None, 

+

1003 ) -> Optional[int]: 

+

1004 """A wrapper around main that profiles.""" 

+

1005 profiler = SimpleLauncher.launch() 

+

1006 try: 

+

1007 return original_main(argv) 

+

1008 finally: 

+

1009 data, _ = profiler.query(re_filter='coverage', max_records=100) 

+

1010 print(profiler.show(query=data, limit=100, sep='', col='')) 

+

1011 profiler.cancel() 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_collector_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_collector_py.html new file mode 100644 index 000000000..897b364d8 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_collector_py.html @@ -0,0 +1,607 @@ + + + + + Coverage for coverage/collector.py: 67.529% + + + + + +
+
+

+ Coverage for coverage/collector.py: + 67.529% +

+ +

+ 250 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Raw data collector for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import functools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from types import FrameType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 cast, Any, Callable, Dict, List, Mapping, Optional, Set, Tuple, Type, TypeVar, 

+

15) 

+

16 

+

17from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.config import CoverageConfig 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.data import CoverageData 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.debug import short_stack 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.disposition import FileDisposition 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.exceptions import ConfigError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.misc import human_sorted_items, isolate_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.plugin import CoveragePlugin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.pytracer import PyTracer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.types import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 TArc, TFileDisposition, TLineNo, TTraceData, TTraceFn, TTracer, TWarnFn, 

+

28) 

+

29 

+

30os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 

+

32 

+

33try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 # Use the C extension code when we can, for speed. 

+

35 from coverage.tracer import CTracer, CFileDisposition 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 HAS_CTRACER = True 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

37except ImportError: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 # Couldn't import the C extension, maybe it isn't built. 

+

39 if os.getenv('COVERAGE_TEST_TRACER') == 'c': # pragma: part covered 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 # During testing, we use the COVERAGE_TEST_TRACER environment variable 

+

41 # to indicate that we've fiddled with the environment to test this 

+

42 # fallback code. If we thought we had a C tracer, but couldn't import 

+

43 # it, then exit quickly and clearly instead of dribbling confusing 

+

44 # errors. I'm using sys.exit here instead of an exception because an 

+

45 # exception here causes all sorts of other noise in unittest. 

+

46 sys.stderr.write("*** COVERAGE_TEST_TRACER is 'c' but can't import CTracer!\n") 

+

47 sys.exit(1) 

+

48 HAS_CTRACER = False 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50T = TypeVar("T") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52class Collector: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 """Collects trace data. 

+

54 

+

55 Creates a Tracer object for each thread, since they track stack 

+

56 information. Each Tracer points to the same shared data, contributing 

+

57 traced data points. 

+

58 

+

59 When the Collector is started, it creates a Tracer for the current thread, 

+

60 and installs a function to create Tracers for each new thread started. 

+

61 When the Collector is stopped, all active Tracers are stopped. 

+

62 

+

63 Threads started while the Collector is stopped will never have Tracers 

+

64 associated with them. 

+

65 

+

66 """ 

+

67 

+

68 # The stack of active Collectors. Collectors are added here when started, 

+

69 # and popped when stopped. Collectors on the stack are paused when not 

+

70 # the top, and resumed when they become the top again. 

+

71 _collectors: List[Collector] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 

+

73 # The concurrency settings we support here. 

+

74 LIGHT_THREADS = {"greenlet", "eventlet", "gevent"} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 

+

76 def __init__( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 self, 

+

78 should_trace: Callable[[str, FrameType], TFileDisposition], 

+

79 check_include: Callable[[str, FrameType], bool], 

+

80 should_start_context: Optional[Callable[[FrameType], Optional[str]]], 

+

81 file_mapper: Callable[[str], str], 

+

82 timid: bool, 

+

83 branch: bool, 

+

84 warn: TWarnFn, 

+

85 concurrency: List[str], 

+

86 ) -> None: 

+

87 """Create a collector. 

+

88 

+

89 `should_trace` is a function, taking a file name and a frame, and 

+

90 returning a `coverage.FileDisposition object`. 

+

91 

+

92 `check_include` is a function taking a file name and a frame. It returns 

+

93 a boolean: True if the file should be traced, False if not. 

+

94 

+

95 `should_start_context` is a function taking a frame, and returning a 

+

96 string. If the frame should be the start of a new context, the string 

+

97 is the new context. If the frame should not be the start of a new 

+

98 context, return None. 

+

99 

+

100 `file_mapper` is a function taking a filename, and returning a Unicode 

+

101 filename. The result is the name that will be recorded in the data 

+

102 file. 

+

103 

+

104 If `timid` is true, then a slower simpler trace function will be 

+

105 used. This is important for some environments where manipulation of 

+

106 tracing functions make the faster more sophisticated trace function not 

+

107 operate properly. 

+

108 

+

109 If `branch` is true, then branches will be measured. This involves 

+

110 collecting data on which statements followed each other (arcs). Use 

+

111 `get_arc_data` to get the arc data. 

+

112 

+

113 `warn` is a warning function, taking a single string message argument 

+

114 and an optional slug argument which will be a string or None, to be 

+

115 used if a warning needs to be issued. 

+

116 

+

117 `concurrency` is a list of strings indicating the concurrency libraries 

+

118 in use. Valid values are "greenlet", "eventlet", "gevent", or "thread" 

+

119 (the default). "thread" can be combined with one of the other three. 

+

120 Other values are ignored. 

+

121 

+

122 """ 

+

123 self.should_trace = should_trace 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 self.check_include = check_include 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 self.should_start_context = should_start_context 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 self.file_mapper = file_mapper 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 self.branch = branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 self.warn = warn 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 self.concurrency = concurrency 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 assert isinstance(self.concurrency, list), f"Expected a list: {self.concurrency!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 

+

132 self.covdata: CoverageData 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 self.threading = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 self.static_context: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 

+

136 self.origin = short_stack() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 

+

138 self.concur_id_func = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 

+

140 self._trace_class: Type[TTracer] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 self.file_disposition_class: Type[TFileDisposition] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 

+

143 use_ctracer = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 if HAS_CTRACER and not timid: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 use_ctracer = True 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

146 

+

147 #if HAS_CTRACER and self._trace_class is CTracer: 

+

148 if use_ctracer: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 self._trace_class = CTracer 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

150 self.file_disposition_class = CFileDisposition 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

151 self.supports_plugins = True 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

152 self.packed_arcs = True 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

153 else: 

+

154 self._trace_class = PyTracer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 self.file_disposition_class = FileDisposition 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 self.supports_plugins = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 self.packed_arcs = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 

+

159 # We can handle a few concurrency options here, but only one at a time. 

+

160 concurrencies = set(self.concurrency) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 unknown = concurrencies - CoverageConfig.CONCURRENCY_CHOICES 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 if unknown: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 show = ", ".join(sorted(unknown)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 raise ConfigError(f"Unknown concurrency choices: {show}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 light_threads = concurrencies & self.LIGHT_THREADS 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 if len(light_threads) > 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 show = ", ".join(sorted(light_threads)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 raise ConfigError(f"Conflicting concurrency settings: {show}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 do_threading = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 

+

171 tried = "nothing" # to satisfy pylint 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 if "greenlet" in concurrencies: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 tried = "greenlet" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 import greenlet 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 self.concur_id_func = greenlet.getcurrent 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 elif "eventlet" in concurrencies: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 tried = "eventlet" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 import eventlet.greenthread # pylint: disable=import-error,useless-suppression 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 self.concur_id_func = eventlet.greenthread.getcurrent 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

181 elif "gevent" in concurrencies: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 tried = "gevent" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 import gevent # pylint: disable=import-error,useless-suppression 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 self.concur_id_func = gevent.getcurrent 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

185 

+

186 if "thread" in concurrencies: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 do_threading = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 except ImportError as ex: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 msg = f"Couldn't trace with concurrency={tried}, the module isn't installed." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 raise ConfigError(msg) from ex 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 

+

192 if self.concur_id_func and not hasattr(self._trace_class, "concur_id_func"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 raise ConfigError( 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 "Can't support concurrency={} with {}, only threads are supported.".format( 

+

195 tried, self.tracer_name(), 

+

196 ) 

+

197 ) 

+

198 

+

199 if do_threading or not concurrencies: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 # It's important to import threading only if we need it. If 

+

201 # it's imported early, and the program being measured uses 

+

202 # gevent, then gevent's monkey-patching won't work properly. 

+

203 import threading 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 self.threading = threading 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 

+

206 self.reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 

+

208 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 return f"<Collector at 0x{id(self):x}: {self.tracer_name()}>" 

+

210 

+

211 def use_data(self, covdata: CoverageData, context: Optional[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 """Use `covdata` for recording data.""" 

+

213 self.covdata = covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 self.static_context = context 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 self.covdata.set_context(self.static_context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 

+

217 def tracer_name(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 """Return the class name of the tracer we're using.""" 

+

219 return self._trace_class.__name__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 

+

221 def _clear_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 """Clear out existing data, but stay ready for more collection.""" 

+

223 # We used to use self.data.clear(), but that would remove filename 

+

224 # keys and data values that were still in use higher up the stack 

+

225 # when we are called as part of switch_context. 

+

226 for d in self.data.values(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 d.clear() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 

+

229 for tracer in self.tracers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 tracer.reset_activity() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 

+

232 def reset(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 """Clear collected data, and prepare to collect more.""" 

+

234 # The trace data we are collecting. 

+

235 self.data: TTraceData = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 

+

237 # A dictionary mapping file names to file tracer plugin names that will 

+

238 # handle them. 

+

239 self.file_tracers: Dict[str, str] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 

+

241 self.disabled_plugins: Set[str] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 

+

243 # The .should_trace_cache attribute is a cache from file names to 

+

244 # coverage.FileDisposition objects, or None. When a file is first 

+

245 # considered for tracing, a FileDisposition is obtained from 

+

246 # Coverage.should_trace. Its .trace attribute indicates whether the 

+

247 # file should be traced or not. If it should be, a plugin with dynamic 

+

248 # file names can decide not to trace it based on the dynamic file name 

+

249 # being excluded by the inclusion rules, in which case the 

+

250 # FileDisposition will be replaced by None in the cache. 

+

251 if env.PYPY: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 import __pypy__ # pylint: disable=import-error pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 # Alex Gaynor said: 

+

254 # should_trace_cache is a strictly growing key: once a key is in 

+

255 # it, it never changes. Further, the keys used to access it are 

+

256 # generally constant, given sufficient context. That is to say, at 

+

257 # any given point _trace() is called, pypy is able to know the key. 

+

258 # This is because the key is determined by the physical source code 

+

259 # line, and that's invariant with the call site. 

+

260 # 

+

261 # This property of a dict with immutable keys, combined with 

+

262 # call-site-constant keys is a match for PyPy's module dict, 

+

263 # which is optimized for such workloads. 

+

264 # 

+

265 # This gives a 20% benefit on the workload described at 

+

266 # https://bitbucket.org/pypy/pypy/issue/1871/10x-slower-than-cpython-under-coverage 

+

267 self.should_trace_cache = __pypy__.newdict("module") pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 else: 

+

269 self.should_trace_cache = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

270 

+

271 # Our active Tracers. 

+

272 self.tracers: List[TTracer] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 

+

274 self._clear_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 

+

276 def _start_tracer(self) -> TTraceFn: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 """Start a new Tracer object, and store it in self.tracers.""" 

+

278 tracer = self._trace_class() 

+

279 tracer.data = self.data 

+

280 tracer.trace_arcs = self.branch 

+

281 tracer.should_trace = self.should_trace 

+

282 tracer.should_trace_cache = self.should_trace_cache 

+

283 tracer.warn = self.warn 

+

284 

+

285 if hasattr(tracer, 'concur_id_func'): 

+

286 tracer.concur_id_func = self.concur_id_func 

+

287 if hasattr(tracer, 'file_tracers'): 

+

288 tracer.file_tracers = self.file_tracers 

+

289 if hasattr(tracer, 'threading'): 

+

290 tracer.threading = self.threading 

+

291 if hasattr(tracer, 'check_include'): 

+

292 tracer.check_include = self.check_include 

+

293 if hasattr(tracer, 'should_start_context'): 

+

294 tracer.should_start_context = self.should_start_context 

+

295 if hasattr(tracer, 'switch_context'): 

+

296 tracer.switch_context = self.switch_context 

+

297 if hasattr(tracer, 'disable_plugin'): 

+

298 tracer.disable_plugin = self.disable_plugin 

+

299 

+

300 fn = tracer.start() 

+

301 self.tracers.append(tracer) 

+

302 

+

303 return fn 

+

304 

+

305 # The trace function has to be set individually on each thread before 

+

306 # execution begins. Ironically, the only support the threading module has 

+

307 # for running code before the thread main is the tracing function. So we 

+

308 # install this as a trace function, and the first time it's called, it does 

+

309 # the real trace installation. 

+

310 # 

+

311 # New in 3.12: threading.settrace_all_threads: https://github.com/python/cpython/pull/96681 

+

312 

+

313 def _installation_trace(self, frame: FrameType, event: str, arg: Any) -> Optional[TTraceFn]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 """Called on new threads, installs the real tracer.""" 

+

315 # Remove ourselves as the trace function. 

+

316 sys.settrace(None) 

+

317 # Install the real tracer. 

+

318 fn: Optional[TTraceFn] = self._start_tracer() 

+

319 # Invoke the real trace function with the current event, to be sure 

+

320 # not to lose an event. 

+

321 if fn: 

+

322 fn = fn(frame, event, arg) 

+

323 # Return the new trace function to continue tracing in this scope. 

+

324 return fn 

+

325 

+

326 def start(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 """Start collecting trace information.""" 

+

328 if self._collectors: 328 ↛ 331line 328 didn't jump to line 331, because the condition on line 328 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 self._collectors[-1].pause() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

330 

+

331 self.tracers = [] 

+

332 

+

333 # Check to see whether we had a fullcoverage tracer installed. If so, 

+

334 # get the stack frames it stashed away for us. 

+

335 traces0: List[Tuple[Tuple[FrameType, str, Any], TLineNo]] = [] 

+

336 fn0 = sys.gettrace() 

+

337 if fn0: 

+

338 tracer0 = getattr(fn0, '__self__', None) 

+

339 if tracer0: 

+

340 traces0 = getattr(tracer0, 'traces', []) 

+

341 

+

342 try: 

+

343 # Install the tracer on this thread. 

+

344 fn = self._start_tracer() 

+

345 except: 

+

346 if self._collectors: 

+

347 self._collectors[-1].resume() 

+

348 raise 

+

349 

+

350 # If _start_tracer succeeded, then we add ourselves to the global 

+

351 # stack of collectors. 

+

352 self._collectors.append(self) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 

+

354 # Replay all the events from fullcoverage into the new trace function. 

+

355 for (frame, event, arg), lineno in traces0: 355 ↛ 356line 355 didn't jump to line 356, because the loop on line 355 never started3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 try: 

+

357 fn(frame, event, arg, lineno=lineno) 

+

358 except TypeError as ex: 

+

359 raise RuntimeError("fullcoverage must be run with the C trace function.") from ex 

+

360 

+

361 # Install our installation tracer in threading, to jump-start other 

+

362 # threads. 

+

363 if self.threading: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 self.threading.settrace(self._installation_trace) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 

+

366 def stop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

367 """Stop collecting trace information.""" 

+

368 assert self._collectors 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 if self._collectors[-1] is not self: 369 ↛ 370line 369 didn't jump to line 370, because the condition on line 369 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

370 print("self._collectors:") 

+

371 for c in self._collectors: 

+

372 print(f" {c!r}\n{c.origin}") 

+

373 assert self._collectors[-1] is self, ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 f"Expected current collector to be {self!r}, but it's {self._collectors[-1]!r}" 

+

375 ) 

+

376 

+

377 self.pause() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 

+

379 # Remove this Collector from the stack, and resume the one underneath 

+

380 # (if any). 

+

381 self._collectors.pop() 

+

382 if self._collectors: 

+

383 self._collectors[-1].resume() 

+

384 

+

385 def pause(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 """Pause tracing, but be prepared to `resume`.""" 

+

387 for tracer in self.tracers: 387 ↛ 394line 387 didn't jump to line 394, because the loop on line 387 didn't complete3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 tracer.stop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 stats = tracer.get_stats() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

390 if stats: 390 ↛ 391line 390 didn't jump to line 391, because the condition on line 390 was never true3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

391 print("\nCoverage.py tracer stats:") 

+

392 for k, v in human_sorted_items(stats.items()): 

+

393 print(f"{k:>20}: {v}") 

+

394 if self.threading: 

+

395 self.threading.settrace(None) 

+

396 

+

397 def resume(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 """Resume tracing after a `pause`.""" 

+

399 for tracer in self.tracers: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

400 tracer.start() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

401 if self.threading: 401 ↛ 404line 401 didn't jump to line 404, because the condition on line 401 was never false3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

402 self.threading.settrace(self._installation_trace) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

403 else: 

+

404 self._start_tracer() 

+

405 

+

406 def _activity(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 """Has any activity been traced? 

+

408 

+

409 Returns a boolean, True if any trace function was invoked. 

+

410 

+

411 """ 

+

412 return any(tracer.activity() for tracer in self.tracers) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

413 

+

414 def switch_context(self, new_context: Optional[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 """Switch to a new dynamic context.""" 

+

416 context: Optional[str] 

+

417 self.flush_data() 

+

418 if self.static_context: 

+

419 context = self.static_context 

+

420 if new_context: 

+

421 context += "|" + new_context 

+

422 else: 

+

423 context = new_context 

+

424 self.covdata.set_context(context) 

+

425 

+

426 def disable_plugin(self, disposition: TFileDisposition) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 """Disable the plugin mentioned in `disposition`.""" 

+

428 file_tracer = disposition.file_tracer 

+

429 assert file_tracer is not None 

+

430 plugin = file_tracer._coverage_plugin 

+

431 plugin_name = plugin._coverage_plugin_name 

+

432 self.warn(f"Disabling plug-in {plugin_name!r} due to previous exception") 

+

433 plugin._coverage_enabled = False 

+

434 disposition.trace = False 

+

435 

+

436 @functools.lru_cache(maxsize=None) # pylint: disable=method-cache-max-size-none 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 def cached_mapped_file(self, filename: str) -> str: 

+

438 """A locally cached version of file names mapped through file_mapper.""" 

+

439 return self.file_mapper(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 

+

441 def mapped_file_dict(self, d: Mapping[str, T]) -> Dict[str, T]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 """Return a dict like d, but with keys modified by file_mapper.""" 

+

443 # The call to list(items()) ensures that the GIL protects the dictionary 

+

444 # iterator against concurrent modifications by tracers running 

+

445 # in other threads. We try three times in case of concurrent 

+

446 # access, hoping to get a clean copy. 

+

447 runtime_err = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 for _ in range(3): # pragma: part covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 items = list(d.items()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 except RuntimeError as ex: # pragma: cant happen 

+

452 runtime_err = ex 

+

453 else: 

+

454 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 else: # pragma: cant happen 

+

456 assert isinstance(runtime_err, Exception) 

+

457 raise runtime_err 

+

458 

+

459 return {self.cached_mapped_file(k): v for k, v in items} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 

+

461 def plugin_was_disabled(self, plugin: CoveragePlugin) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

462 """Record that `plugin` was disabled during the run.""" 

+

463 self.disabled_plugins.add(plugin._coverage_plugin_name) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

464 

+

465 def flush_data(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 """Save the collected data to our associated `CoverageData`. 

+

467 

+

468 Data may have also been saved along the way. This forces the 

+

469 last of the data to be saved. 

+

470 

+

471 Returns True if there was data to save, False if not. 

+

472 """ 

+

473 if not self._activity(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 

+

476 if self.branch: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

477 if self.packed_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 # Unpack the line number pairs packed into integers. See 

+

479 # tracer.c:CTracer_record_pair for the C code that creates 

+

480 # these packed ints. 

+

481 arc_data: Dict[str, List[TArc]] = {} 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

482 packed_data = cast(Dict[str, Set[int]], self.data) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

483 for fname, packeds in packed_data.items(): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

484 tuples = [] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

485 for packed in packeds: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

486 l1 = packed & 0xFFFFF 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

487 l2 = (packed & (0xFFFFF << 20)) >> 20 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

488 if packed & (1 << 40): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

489 l1 *= -1 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

490 if packed & (1 << 41): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

491 l2 *= -1 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

492 tuples.append((l1, l2)) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

493 arc_data[fname] = tuples 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

494 else: 

+

495 arc_data = cast(Dict[str, List[TArc]], self.data) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

496 self.covdata.add_arcs(self.mapped_file_dict(arc_data)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 else: 

+

498 line_data = cast(Dict[str, Set[int]], self.data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

499 self.covdata.add_lines(self.mapped_file_dict(line_data)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

500 

+

501 file_tracers = { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 k: v for k, v in self.file_tracers.items() 

+

503 if v not in self.disabled_plugins 

+

504 } 

+

505 self.covdata.add_file_tracers(self.mapped_file_dict(file_tracers)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 

+

507 self._clear_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_config_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_config_py.html new file mode 100644 index 000000000..dd5a46a37 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_config_py.html @@ -0,0 +1,715 @@ + + + + + Coverage for coverage/config.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/config.py: + 100.000% +

+ +

+ 270 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Config file for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import collections 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import configparser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import copy 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 Any, Callable, Dict, Iterable, List, Optional, Tuple, Union, 

+

17) 

+

18 

+

19from coverage.exceptions import ConfigError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.misc import isolate_module, human_sorted_items, substitute_variables 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.tomlconfig import TomlConfigParser, TomlDecodeError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.types import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 TConfigurable, TConfigSectionIn, TConfigValueIn, TConfigSectionOut, 

+

24 TConfigValueOut, TPluginConfig, 

+

25) 

+

26 

+

27os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 

+

30class HandyConfigParser(configparser.ConfigParser): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 """Our specialization of ConfigParser.""" 

+

32 

+

33 def __init__(self, our_file: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 """Create the HandyConfigParser. 

+

35 

+

36 `our_file` is True if this config file is specifically for coverage, 

+

37 False if we are examining another config file (tox.ini, setup.cfg) 

+

38 for possible settings. 

+

39 """ 

+

40 

+

41 super().__init__(interpolation=None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 self.section_prefixes = ["coverage:"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 if our_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 self.section_prefixes.append("") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 

+

46 def read( # type: ignore[override] 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

47 self, 

+

48 filenames: Iterable[str], 

+

49 encoding_unused: Optional[str] = None, 

+

50 ) -> List[str]: 

+

51 """Read a file name as UTF-8 configuration data.""" 

+

52 return super().read(filenames, encoding="utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 

+

54 def real_section(self, section: str) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 """Get the actual name of a section.""" 

+

56 for section_prefix in self.section_prefixes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 real_section = section_prefix + section 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 has = super().has_section(real_section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 if has: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 return real_section 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 

+

63 def has_option(self, section: str, option: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 real_section = self.real_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 if real_section is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 return super().has_option(real_section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 

+

69 def has_section(self, section: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 return bool(self.real_section(section)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 

+

72 def options(self, section: str) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 real_section = self.real_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 if real_section is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 return super().options(real_section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 raise ConfigError(f"No section: {section!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78 def get_section(self, section: str) -> TConfigSectionOut: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 """Get the contents of a section, as a dictionary.""" 

+

80 d: Dict[str, TConfigValueOut] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 for opt in self.options(section): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 d[opt] = self.get(section, opt) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 return d 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 

+

85 def get(self, section: str, option: str, *args: Any, **kwargs: Any) -> str: # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 """Get a value, replacing environment variables also. 

+

87 

+

88 The arguments are the same as `ConfigParser.get`, but in the found 

+

89 value, ``$WORD`` or ``${WORD}`` are replaced by the value of the 

+

90 environment variable ``WORD``. 

+

91 

+

92 Returns the finished value. 

+

93 

+

94 """ 

+

95 for section_prefix in self.section_prefixes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 real_section = section_prefix + section 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 if super().has_option(real_section, option): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 else: 

+

100 raise ConfigError(f"No option {option!r} in section: {section!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 

+

102 v: str = super().get(real_section, option, *args, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 v = substitute_variables(v, os.environ) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 return v 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 

+

106 def getlist(self, section: str, option: str) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 """Read a list of strings. 

+

108 

+

109 The value of `section` and `option` is treated as a comma- and newline- 

+

110 separated list of strings. Each value is stripped of white space. 

+

111 

+

112 Returns the list of strings. 

+

113 

+

114 """ 

+

115 value_list = self.get(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 values = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 for value_line in value_list.split('\n'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 for value in value_line.split(','): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 value = value.strip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 if value: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 values.append(value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 return values 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 

+

124 def getregexlist(self, section: str, option: str) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 """Read a list of full-line regexes. 

+

126 

+

127 The value of `section` and `option` is treated as a newline-separated 

+

128 list of regexes. Each value is stripped of white space. 

+

129 

+

130 Returns the list of strings. 

+

131 

+

132 """ 

+

133 line_list = self.get(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 value_list = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 for value in line_list.splitlines(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 value = value.strip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 re.compile(value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 except re.error as e: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 raise ConfigError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 f"Invalid [{section}].{option} value {value!r}: {e}" 

+

142 ) from e 

+

143 if value: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 value_list.append(value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 return value_list 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 

+

147 

+

148TConfigParser = Union[HandyConfigParser, TomlConfigParser] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 

+

150 

+

151# The default line exclusion regexes. 

+

152DEFAULT_EXCLUDE = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 r'#\s*(pragma|PRAGMA)[:\s]?\s*(no|NO)\s*(cover|COVER)', 

+

154] 

+

155 

+

156# The default partial branch regexes, to be modified by the user. 

+

157DEFAULT_PARTIAL = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 r'#\s*(pragma|PRAGMA)[:\s]?\s*(no|NO)\s*(branch|BRANCH)', 

+

159] 

+

160 

+

161# The default partial branch regexes, based on Python semantics. 

+

162# These are any Python branching constructs that can't actually execute all 

+

163# their branches. 

+

164DEFAULT_PARTIAL_ALWAYS = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 'while (True|1|False|0):', 

+

166 'if (True|1|False|0):', 

+

167] 

+

168 

+

169 

+

170class CoverageConfig(TConfigurable, TPluginConfig): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 """Coverage.py configuration. 

+

172 

+

173 The attributes of this class are the various settings that control the 

+

174 operation of coverage.py. 

+

175 

+

176 """ 

+

177 # pylint: disable=too-many-instance-attributes 

+

178 

+

179 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 """Initialize the configuration attributes to their defaults.""" 

+

181 # Metadata about the config. 

+

182 # We tried to read these config files. 

+

183 self.attempted_config_files: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 # We did read these config files, but maybe didn't find any content for us. 

+

185 self.config_files_read: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 # The file that gave us our configuration. 

+

187 self.config_file: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 self._config_contents: Optional[bytes] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 

+

190 # Defaults for [run] and [report] 

+

191 self._include = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 self._omit = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 # Defaults for [run] 

+

195 self.branch = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 self.command_line: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 self.concurrency: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 self.context: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 self.cover_pylib = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 self.data_file = ".coverage" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 self.debug: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 self.debug_file: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 self.disable_warnings: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 self.dynamic_context: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 self.parallel = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 self.plugins: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 self.relative_files = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 self.run_include: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 self.run_omit: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 self.sigterm = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 self.source: Optional[List[str]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 self.source_pkgs: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 self.timid = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 self._crash: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 

+

216 # Defaults for [report] 

+

217 self.exclude_list = DEFAULT_EXCLUDE[:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 self.fail_under = 0.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 self.format: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 self.ignore_errors = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 self.include_namespace_packages = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 self.report_include: Optional[List[str]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 self.report_omit: Optional[List[str]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 self.partial_always_list = DEFAULT_PARTIAL_ALWAYS[:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 self.partial_list = DEFAULT_PARTIAL[:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 self.precision = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 self.report_contexts: Optional[List[str]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 self.show_missing = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 self.skip_covered = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 self.skip_empty = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 self.sort: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 

+

233 # Defaults for [html] 

+

234 self.extra_css: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 self.html_dir = "htmlcov" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 self.html_skip_covered: Optional[bool] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 self.html_skip_empty: Optional[bool] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 self.html_title = "Coverage report" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 self.show_contexts = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 

+

241 # Defaults for [xml] 

+

242 self.xml_output = "coverage.xml" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 self.xml_package_depth = 99 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 

+

245 # Defaults for [json] 

+

246 self.json_output = "coverage.json" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 self.json_pretty_print = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 self.json_show_contexts = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 

+

250 # Defaults for [lcov] 

+

251 self.lcov_output = "coverage.lcov" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 

+

253 # Defaults for [paths] 

+

254 self.paths: Dict[str, List[str]] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 

+

256 # Options for plugins 

+

257 self.plugin_options: Dict[str, TConfigSectionOut] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 

+

259 MUST_BE_LIST = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 "debug", "concurrency", "plugins", 

+

261 "report_omit", "report_include", 

+

262 "run_omit", "run_include", 

+

263 } 

+

264 

+

265 def from_args(self, **kwargs: TConfigValueIn) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 """Read config values from `kwargs`.""" 

+

267 for k, v in kwargs.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 if v is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 if k in self.MUST_BE_LIST and isinstance(v, str): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 v = [v] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 setattr(self, k, v) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 

+

273 def from_file(self, filename: str, warn: Callable[[str], None], our_file: bool) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 """Read configuration from a .rc file. 

+

275 

+

276 `filename` is a file name to read. 

+

277 

+

278 `our_file` is True if this config file is specifically for coverage, 

+

279 False if we are examining another config file (tox.ini, setup.cfg) 

+

280 for possible settings. 

+

281 

+

282 Returns True or False, whether the file could be read, and it had some 

+

283 coverage.py settings in it. 

+

284 

+

285 """ 

+

286 _, ext = os.path.splitext(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 cp: TConfigParser 

+

288 if ext == '.toml': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 cp = TomlConfigParser(our_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 else: 

+

291 cp = HandyConfigParser(our_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 

+

293 self.attempted_config_files.append(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 

+

295 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 files_read = cp.read(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 except (configparser.Error, TomlDecodeError) as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 raise ConfigError(f"Couldn't read config file {filename}: {err}") from err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 if not files_read: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 

+

302 self.config_files_read.extend(map(os.path.abspath, files_read)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 

+

304 any_set = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 for option_spec in self.CONFIG_FILE_OPTIONS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 was_set = self._set_attr_from_config_option(cp, *option_spec) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 if was_set: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 any_set = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 except ValueError as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 raise ConfigError(f"Couldn't read config file {filename}: {err}") from err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 

+

313 # Check that there are no unrecognized options. 

+

314 all_options = collections.defaultdict(set) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 for option_spec in self.CONFIG_FILE_OPTIONS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 section, option = option_spec[1].split(":") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 all_options[section].add(option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 

+

319 for section, options in all_options.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 real_section = cp.real_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 if real_section: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 for unknown in set(cp.options(section)) - options: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 warn( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 "Unrecognized option '[{}] {}=' in config file {}".format( 

+

325 real_section, unknown, filename 

+

326 ) 

+

327 ) 

+

328 

+

329 # [paths] is special 

+

330 if cp.has_section('paths'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 for option in cp.options('paths'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 self.paths[option] = cp.getlist('paths', option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 any_set = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 

+

335 # plugins can have options 

+

336 for plugin in self.plugins: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 if cp.has_section(plugin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

338 self.plugin_options[plugin] = cp.get_section(plugin) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 any_set = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 

+

341 # Was this file used as a config file? If it's specifically our file, 

+

342 # then it was used. If we're piggybacking on someone else's file, 

+

343 # then it was only used if we found some settings in it. 

+

344 if our_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 used = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 else: 

+

347 used = any_set 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 

+

349 if used: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 self.config_file = os.path.abspath(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 with open(filename, "rb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 self._config_contents = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 

+

354 return used 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 

+

356 def copy(self) -> CoverageConfig: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 """Return a copy of the configuration.""" 

+

358 return copy.deepcopy(self) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 

+

360 CONCURRENCY_CHOICES = {"thread", "gevent", "greenlet", "eventlet", "multiprocessing"} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 

+

362 CONFIG_FILE_OPTIONS = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 # These are *args for _set_attr_from_config_option: 

+

364 # (attr, where, type_="") 

+

365 # 

+

366 # attr is the attribute to set on the CoverageConfig object. 

+

367 # where is the section:name to read from the configuration file. 

+

368 # type_ is the optional type to apply, by using .getTYPE to read the 

+

369 # configuration value from the file. 

+

370 

+

371 # [run] 

+

372 ('branch', 'run:branch', 'boolean'), 

+

373 ('command_line', 'run:command_line'), 

+

374 ('concurrency', 'run:concurrency', 'list'), 

+

375 ('context', 'run:context'), 

+

376 ('cover_pylib', 'run:cover_pylib', 'boolean'), 

+

377 ('data_file', 'run:data_file'), 

+

378 ('debug', 'run:debug', 'list'), 

+

379 ('debug_file', 'run:debug_file'), 

+

380 ('disable_warnings', 'run:disable_warnings', 'list'), 

+

381 ('dynamic_context', 'run:dynamic_context'), 

+

382 ('parallel', 'run:parallel', 'boolean'), 

+

383 ('plugins', 'run:plugins', 'list'), 

+

384 ('relative_files', 'run:relative_files', 'boolean'), 

+

385 ('run_include', 'run:include', 'list'), 

+

386 ('run_omit', 'run:omit', 'list'), 

+

387 ('sigterm', 'run:sigterm', 'boolean'), 

+

388 ('source', 'run:source', 'list'), 

+

389 ('source_pkgs', 'run:source_pkgs', 'list'), 

+

390 ('timid', 'run:timid', 'boolean'), 

+

391 ('_crash', 'run:_crash'), 

+

392 

+

393 # [report] 

+

394 ('exclude_list', 'report:exclude_lines', 'regexlist'), 

+

395 ('fail_under', 'report:fail_under', 'float'), 

+

396 ('format', 'report:format', 'boolean'), 

+

397 ('ignore_errors', 'report:ignore_errors', 'boolean'), 

+

398 ('include_namespace_packages', 'report:include_namespace_packages', 'boolean'), 

+

399 ('partial_always_list', 'report:partial_branches_always', 'regexlist'), 

+

400 ('partial_list', 'report:partial_branches', 'regexlist'), 

+

401 ('precision', 'report:precision', 'int'), 

+

402 ('report_contexts', 'report:contexts', 'list'), 

+

403 ('report_include', 'report:include', 'list'), 

+

404 ('report_omit', 'report:omit', 'list'), 

+

405 ('show_missing', 'report:show_missing', 'boolean'), 

+

406 ('skip_covered', 'report:skip_covered', 'boolean'), 

+

407 ('skip_empty', 'report:skip_empty', 'boolean'), 

+

408 ('sort', 'report:sort'), 

+

409 

+

410 # [html] 

+

411 ('extra_css', 'html:extra_css'), 

+

412 ('html_dir', 'html:directory'), 

+

413 ('html_skip_covered', 'html:skip_covered', 'boolean'), 

+

414 ('html_skip_empty', 'html:skip_empty', 'boolean'), 

+

415 ('html_title', 'html:title'), 

+

416 ('show_contexts', 'html:show_contexts', 'boolean'), 

+

417 

+

418 # [xml] 

+

419 ('xml_output', 'xml:output'), 

+

420 ('xml_package_depth', 'xml:package_depth', 'int'), 

+

421 

+

422 # [json] 

+

423 ('json_output', 'json:output'), 

+

424 ('json_pretty_print', 'json:pretty_print', 'boolean'), 

+

425 ('json_show_contexts', 'json:show_contexts', 'boolean'), 

+

426 

+

427 # [lcov] 

+

428 ('lcov_output', 'lcov:output'), 

+

429 ] 

+

430 

+

431 def _set_attr_from_config_option( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

432 self, 

+

433 cp: TConfigParser, 

+

434 attr: str, 

+

435 where: str, 

+

436 type_: str = '', 

+

437 ) -> bool: 

+

438 """Set an attribute on self if it exists in the ConfigParser. 

+

439 

+

440 Returns True if the attribute was set. 

+

441 

+

442 """ 

+

443 section, option = where.split(":") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444 if cp.has_option(section, option): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 method = getattr(cp, 'get' + type_) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 setattr(self, attr, method(section, option)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 

+

450 def get_plugin_options(self, plugin: str) -> TConfigSectionOut: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 """Get a dictionary of options for the plugin named `plugin`.""" 

+

452 return self.plugin_options.get(plugin, {}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453 

+

454 def set_option(self, option_name: str, value: Union[TConfigValueIn, TConfigSectionIn]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 """Set an option in the configuration. 

+

456 

+

457 `option_name` is a colon-separated string indicating the section and 

+

458 option name. For example, the ``branch`` option in the ``[run]`` 

+

459 section of the config file would be indicated with `"run:branch"`. 

+

460 

+

461 `value` is the new value for the option. 

+

462 

+

463 """ 

+

464 # Special-cased options. 

+

465 if option_name == "paths": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 self.paths = value # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

467 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 

+

469 # Check all the hard-coded options. 

+

470 for option_spec in self.CONFIG_FILE_OPTIONS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 attr, where = option_spec[:2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

472 if where == option_name: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

473 setattr(self, attr, value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 

+

476 # See if it's a plugin option. 

+

477 plugin_name, _, key = option_name.partition(":") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 if key and plugin_name in self.plugins: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 self.plugin_options.setdefault(plugin_name, {})[key] = value # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 

+

482 # If we get here, we didn't find the option. 

+

483 raise ConfigError(f"No such option: {option_name!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 

+

485 def get_option(self, option_name: str) -> Optional[TConfigValueOut]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 """Get an option from the configuration. 

+

487 

+

488 `option_name` is a colon-separated string indicating the section and 

+

489 option name. For example, the ``branch`` option in the ``[run]`` 

+

490 section of the config file would be indicated with `"run:branch"`. 

+

491 

+

492 Returns the value of the option. 

+

493 

+

494 """ 

+

495 # Special-cased options. 

+

496 if option_name == "paths": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 return self.paths # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 

+

499 # Check all the hard-coded options. 

+

500 for option_spec in self.CONFIG_FILE_OPTIONS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

501 attr, where = option_spec[:2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 if where == option_name: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 return getattr(self, attr) # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 

+

505 # See if it's a plugin option. 

+

506 plugin_name, _, key = option_name.partition(":") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 if key and plugin_name in self.plugins: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 return self.plugin_options.get(plugin_name, {}).get(key) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

509 

+

510 # If we get here, we didn't find the option. 

+

511 raise ConfigError(f"No such option: {option_name!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

512 

+

513 def post_process_file(self, path: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 """Make final adjustments to a file path to make it usable.""" 

+

515 return os.path.expanduser(path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

516 

+

517 def post_process(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

518 """Make final adjustments to settings to make them usable.""" 

+

519 self.data_file = self.post_process_file(self.data_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

520 self.html_dir = self.post_process_file(self.html_dir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

521 self.xml_output = self.post_process_file(self.xml_output) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 self.paths = dict( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 (k, [self.post_process_file(f) for f in v]) 

+

524 for k, v in self.paths.items() 

+

525 ) 

+

526 

+

527 def debug_info(self) -> List[Tuple[str, Any]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

528 """Make a list of (name, value) pairs for writing debug info.""" 

+

529 return human_sorted_items( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

530 (k, v) for k, v in self.__dict__.items() if not k.startswith("_") 

+

531 ) 

+

532 

+

533 

+

534def config_files_to_try(config_file: Union[bool, str]) -> List[Tuple[str, bool, bool]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 """What config files should we try to read? 

+

536 

+

537 Returns a list of tuples: 

+

538 (filename, is_our_file, was_file_specified) 

+

539 """ 

+

540 

+

541 # Some API users were specifying ".coveragerc" to mean the same as 

+

542 # True, so make it so. 

+

543 if config_file == ".coveragerc": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

544 config_file = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

545 specified_file = (config_file is not True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 if not specified_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 # No file was specified. Check COVERAGE_RCFILE. 

+

548 rcfile = os.environ.get('COVERAGE_RCFILE') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

549 if rcfile: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 config_file = rcfile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 specified_file = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

552 if not specified_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 # Still no file specified. Default to .coveragerc 

+

554 config_file = ".coveragerc" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

555 assert isinstance(config_file, str) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

556 files_to_try = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

557 (config_file, True, specified_file), 

+

558 ("setup.cfg", False, False), 

+

559 ("tox.ini", False, False), 

+

560 ("pyproject.toml", False, False), 

+

561 ] 

+

562 return files_to_try 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 

+

564 

+

565def read_coverage_config( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 config_file: Union[bool, str], 

+

567 warn: Callable[[str], None], 

+

568 **kwargs: TConfigValueIn, 

+

569) -> CoverageConfig: 

+

570 """Read the coverage.py configuration. 

+

571 

+

572 Arguments: 

+

573 config_file: a boolean or string, see the `Coverage` class for the 

+

574 tricky details. 

+

575 warn: a function to issue warnings. 

+

576 all others: keyword arguments from the `Coverage` class, used for 

+

577 setting values in the configuration. 

+

578 

+

579 Returns: 

+

580 config: 

+

581 config is a CoverageConfig object read from the appropriate 

+

582 configuration file. 

+

583 

+

584 """ 

+

585 # Build the configuration from a number of sources: 

+

586 # 1) defaults: 

+

587 config = CoverageConfig() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 

+

589 # 2) from a file: 

+

590 if config_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 files_to_try = config_files_to_try(config_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

592 

+

593 for fname, our_file, specified_file in files_to_try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

594 config_read = config.from_file(fname, warn, our_file=our_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

595 if config_read: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

596 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

597 if specified_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

598 raise ConfigError(f"Couldn't read {fname!r} as a config file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

599 

+

600 # $set_env.py: COVERAGE_DEBUG - Options for --debug. 

+

601 # 3) from environment variables: 

+

602 env_data_file = os.environ.get('COVERAGE_FILE') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

603 if env_data_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

604 config.data_file = env_data_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

605 debugs = os.environ.get('COVERAGE_DEBUG') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 if debugs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

607 config.debug.extend(d.strip() for d in debugs.split(",")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

608 

+

609 # 4) from constructor arguments: 

+

610 config.from_args(**kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

611 

+

612 # Once all the config has been collected, there's a little post-processing 

+

613 # to do. 

+

614 config.post_process() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

615 

+

616 return config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_context_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_context_py.html new file mode 100644 index 000000000..e09578952 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_context_py.html @@ -0,0 +1,171 @@ + + + + + Coverage for coverage/context.py: 73.214% + + + + + +
+
+

+ Coverage for coverage/context.py: + 73.214% +

+ +

+ 38 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Determine contexts for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8from types import FrameType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9from typing import cast, Callable, Optional, Sequence 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11 

+

12def combine_context_switchers( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 context_switchers: Sequence[Callable[[FrameType], Optional[str]]], 

+

14) -> Optional[Callable[[FrameType], Optional[str]]]: 

+

15 """Create a single context switcher from multiple switchers. 

+

16 

+

17 `context_switchers` is a list of functions that take a frame as an 

+

18 argument and return a string to use as the new context label. 

+

19 

+

20 Returns a function that composites `context_switchers` functions, or None 

+

21 if `context_switchers` is an empty list. 

+

22 

+

23 When invoked, the combined switcher calls `context_switchers` one-by-one 

+

24 until a string is returned. The combined switcher returns None if all 

+

25 `context_switchers` return None. 

+

26 """ 

+

27 if not context_switchers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 

+

30 if len(context_switchers) == 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 return context_switchers[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33 def should_start_context(frame: FrameType) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 """The combiner for multiple context switchers.""" 

+

35 for switcher in context_switchers: 

+

36 new_context = switcher(frame) 

+

37 if new_context is not None: 

+

38 return new_context 

+

39 return None 

+

40 

+

41 return should_start_context 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 

+

43 

+

44def should_start_context_test_function(frame: FrameType) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 """Is this frame calling a test_* function?""" 

+

46 co_name = frame.f_code.co_name 

+

47 if co_name.startswith("test") or co_name == "runTest": 

+

48 return qualname_from_frame(frame) 

+

49 return None 

+

50 

+

51 

+

52def qualname_from_frame(frame: FrameType) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 """Get a qualified name for the code running in `frame`.""" 

+

54 co = frame.f_code 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 fname = co.co_name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 method = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 if co.co_argcount and co.co_varnames[0] == "self": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 self = frame.f_locals.get("self", None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 method = getattr(self, fname, None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 

+

61 if method is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 func = frame.f_globals.get(fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 if func is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 return cast(str, func.__module__ + "." + fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 

+

67 func = getattr(method, "__func__", None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 if func is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 cls = self.__class__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 return cast(str, cls.__module__ + "." + cls.__name__ + "." + fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 

+

72 return cast(str, func.__module__ + "." + func.__qualname__) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_control_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_control_py.html new file mode 100644 index 000000000..589d7c107 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_control_py.html @@ -0,0 +1,1487 @@ + + + + + Coverage for coverage/control.py: 90.789% + + + + + +
+
+

+ Coverage for coverage/control.py: + 90.789% +

+ +

+ 440 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Core control stuff for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import atexit 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import collections 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import contextlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import platform 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import signal 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import threading 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17import time 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18import warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20from types import FrameType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 cast, 

+

23 Any, Callable, Dict, IO, Iterable, Iterator, List, Optional, Tuple, Union, 

+

24) 

+

25 

+

26from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.annotate import AnnotateReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28from coverage.collector import Collector, HAS_CTRACER 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from coverage.config import CoverageConfig, read_coverage_config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30from coverage.context import should_start_context_test_function, combine_context_switchers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31from coverage.data import CoverageData, combine_parallel_data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32from coverage.debug import DebugControl, NoDebugging, short_stack, write_formatted_info 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33from coverage.disposition import disposition_debug_msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34from coverage.exceptions import ConfigError, CoverageException, CoverageWarning, PluginError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35from coverage.files import PathAliases, abs_file, relative_filename, set_relative_directory 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36from coverage.html import HtmlReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37from coverage.inorout import InOrOut 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38from coverage.jsonreport import JsonReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39from coverage.lcovreport import LcovReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40from coverage.misc import bool_or_none, join_regex, human_sorted 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41from coverage.misc import DefaultValue, ensure_dir_for_file, isolate_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42from coverage.multiproc import patch_multiprocessing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43from coverage.plugin import FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44from coverage.plugin_support import Plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45from coverage.python import PythonFileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46from coverage.report import render_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47from coverage.results import Analysis 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48from coverage.summary import SummaryReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49from coverage.types import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 FilePath, TConfigurable, TConfigSectionIn, TConfigValueIn, TConfigValueOut, 

+

51 TFileDisposition, TLineNo, TMorf, 

+

52) 

+

53from coverage.xmlreport import XmlReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 

+

55os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 

+

57@contextlib.contextmanager 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58def override_config(cov: Coverage, **kwargs: TConfigValueIn) -> Iterator[None]: 

+

59 """Temporarily tweak the configuration of `cov`. 

+

60 

+

61 The arguments are applied to `cov.config` with the `from_args` method. 

+

62 At the end of the with-statement, the old configuration is restored. 

+

63 """ 

+

64 original_config = cov.config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 cov.config = cov.config.copy() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 cov.config.from_args(**kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 finally: 

+

70 cov.config = original_config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 

+

72 

+

73DEFAULT_DATAFILE = DefaultValue("MISSING") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74_DEFAULT_DATAFILE = DEFAULT_DATAFILE # Just in case, for backwards compatibility 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 

+

76class Coverage(TConfigurable): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 """Programmatic access to coverage.py. 

+

78 

+

79 To use:: 

+

80 

+

81 from coverage import Coverage 

+

82 

+

83 cov = Coverage() 

+

84 cov.start() 

+

85 #.. call your code .. 

+

86 cov.stop() 

+

87 cov.html_report(directory='covhtml') 

+

88 

+

89 Note: in keeping with Python custom, names starting with underscore are 

+

90 not part of the public API. They might stop working at any point. Please 

+

91 limit yourself to documented methods to avoid problems. 

+

92 

+

93 Methods can raise any of the exceptions described in :ref:`api_exceptions`. 

+

94 

+

95 """ 

+

96 

+

97 # The stack of started Coverage instances. 

+

98 _instances: List[Coverage] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 

+

100 @classmethod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 def current(cls) -> Optional[Coverage]: 

+

102 """Get the latest started `Coverage` instance, if any. 

+

103 

+

104 Returns: a `Coverage` instance, or None. 

+

105 

+

106 .. versionadded:: 5.0 

+

107 

+

108 """ 

+

109 if cls._instances: 109 ↛ 112line 109 didn't jump to line 112, because the condition on line 109 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 return cls._instances[-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 else: 

+

112 return None 

+

113 

+

114 def __init__( # pylint: disable=too-many-arguments 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 self, 

+

116 data_file: Optional[Union[FilePath, DefaultValue]] = DEFAULT_DATAFILE, 

+

117 data_suffix: Optional[Union[str, bool]] = None, 

+

118 cover_pylib: Optional[bool] = None, 

+

119 auto_data: bool = False, 

+

120 timid: Optional[bool] = None, 

+

121 branch: Optional[bool] = None, 

+

122 config_file: Union[FilePath, bool] = True, 

+

123 source: Optional[Iterable[str]] = None, 

+

124 source_pkgs: Optional[Iterable[str]] = None, 

+

125 omit: Optional[Union[str, Iterable[str]]] = None, 

+

126 include: Optional[Union[str, Iterable[str]]] = None, 

+

127 debug: Optional[Iterable[str]] = None, 

+

128 concurrency: Optional[Union[str, Iterable[str]]] = None, 

+

129 check_preimported: bool = False, 

+

130 context: Optional[str] = None, 

+

131 messages: bool = False, 

+

132 ) -> None: 

+

133 """ 

+

134 Many of these arguments duplicate and override values that can be 

+

135 provided in a configuration file. Parameters that are missing here 

+

136 will use values from the config file. 

+

137 

+

138 `data_file` is the base name of the data file to use. The config value 

+

139 defaults to ".coverage". None can be provided to prevent writing a data 

+

140 file. `data_suffix` is appended (with a dot) to `data_file` to create 

+

141 the final file name. If `data_suffix` is simply True, then a suffix is 

+

142 created with the machine and process identity included. 

+

143 

+

144 `cover_pylib` is a boolean determining whether Python code installed 

+

145 with the Python interpreter is measured. This includes the Python 

+

146 standard library and any packages installed with the interpreter. 

+

147 

+

148 If `auto_data` is true, then any existing data file will be read when 

+

149 coverage measurement starts, and data will be saved automatically when 

+

150 measurement stops. 

+

151 

+

152 If `timid` is true, then a slower and simpler trace function will be 

+

153 used. This is important for some environments where manipulation of 

+

154 tracing functions breaks the faster trace function. 

+

155 

+

156 If `branch` is true, then branch coverage will be measured in addition 

+

157 to the usual statement coverage. 

+

158 

+

159 `config_file` determines what configuration file to read: 

+

160 

+

161 * If it is ".coveragerc", it is interpreted as if it were True, 

+

162 for backward compatibility. 

+

163 

+

164 * If it is a string, it is the name of the file to read. If the 

+

165 file can't be read, it is an error. 

+

166 

+

167 * If it is True, then a few standard files names are tried 

+

168 (".coveragerc", "setup.cfg", "tox.ini"). It is not an error for 

+

169 these files to not be found. 

+

170 

+

171 * If it is False, then no configuration file is read. 

+

172 

+

173 `source` is a list of file paths or package names. Only code located 

+

174 in the trees indicated by the file paths or package names will be 

+

175 measured. 

+

176 

+

177 `source_pkgs` is a list of package names. It works the same as 

+

178 `source`, but can be used to name packages where the name can also be 

+

179 interpreted as a file path. 

+

180 

+

181 `include` and `omit` are lists of file name patterns. Files that match 

+

182 `include` will be measured, files that match `omit` will not. Each 

+

183 will also accept a single string argument. 

+

184 

+

185 `debug` is a list of strings indicating what debugging information is 

+

186 desired. 

+

187 

+

188 `concurrency` is a string indicating the concurrency library being used 

+

189 in the measured code. Without this, coverage.py will get incorrect 

+

190 results if these libraries are in use. Valid strings are "greenlet", 

+

191 "eventlet", "gevent", "multiprocessing", or "thread" (the default). 

+

192 This can also be a list of these strings. 

+

193 

+

194 If `check_preimported` is true, then when coverage is started, the 

+

195 already-imported files will be checked to see if they should be 

+

196 measured by coverage. Importing measured files before coverage is 

+

197 started can mean that code is missed. 

+

198 

+

199 `context` is a string to use as the :ref:`static context 

+

200 <static_contexts>` label for collected data. 

+

201 

+

202 If `messages` is true, some messages will be printed to stdout 

+

203 indicating what is happening. 

+

204 

+

205 .. versionadded:: 4.0 

+

206 The `concurrency` parameter. 

+

207 

+

208 .. versionadded:: 4.2 

+

209 The `concurrency` parameter can now be a list of strings. 

+

210 

+

211 .. versionadded:: 5.0 

+

212 The `check_preimported` and `context` parameters. 

+

213 

+

214 .. versionadded:: 5.3 

+

215 The `source_pkgs` parameter. 

+

216 

+

217 .. versionadded:: 6.0 

+

218 The `messages` parameter. 

+

219 

+

220 """ 

+

221 # Start self.config as a usable default configuration. It will soon be 

+

222 # replaced with the real configuration. 

+

223 self.config = CoverageConfig() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 

+

225 # data_file=None means no disk file at all. data_file missing means 

+

226 # use the value from the config file. 

+

227 self._no_disk = data_file is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 if isinstance(data_file, DefaultValue): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 data_file = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 if data_file is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 data_file = os.fspath(data_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 

+

233 # This is injectable by tests. 

+

234 self._debug_file: Optional[IO[str]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 

+

236 self._auto_load = self._auto_save = auto_data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 self._data_suffix_specified = data_suffix 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 

+

239 # Is it ok for no data to be collected? 

+

240 self._warn_no_data = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 self._warn_unimported_source = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 self._warn_preimported_source = check_preimported 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 self._no_warn_slugs: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 self._messages = messages 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 

+

246 # A record of all the warnings that have been issued. 

+

247 self._warnings: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 

+

249 # Other instance attributes, set with placebos or placeholders. 

+

250 # More useful objects will be created later. 

+

251 self._debug: DebugControl = NoDebugging() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 self._inorout: Optional[InOrOut] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 self._plugins: Plugins = Plugins() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 self._data: Optional[CoverageData] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 self._collector: Optional[Collector] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 

+

257 self._file_mapper: Callable[[str], str] = abs_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 self._data_suffix = self._run_suffix = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 self._exclude_re: Dict[str, str] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 self._old_sigterm: Optional[Callable[[int, Optional[FrameType]], Any]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 

+

262 # State machine variables: 

+

263 # Have we initialized everything? 

+

264 self._inited = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 self._inited_for_start = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 # Have we started collecting and not stopped it? 

+

267 self._started = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 # Should we write the debug output? 

+

269 self._should_write_debug = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 

+

271 # Build our configuration from a number of sources. 

+

272 if not isinstance(config_file, bool): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 config_file = os.fspath(config_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 self.config = read_coverage_config( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 config_file=config_file, 

+

276 warn=self._warn, 

+

277 data_file=data_file, 

+

278 cover_pylib=cover_pylib, 

+

279 timid=timid, 

+

280 branch=branch, 

+

281 parallel=bool_or_none(data_suffix), 

+

282 source=source, 

+

283 source_pkgs=source_pkgs, 

+

284 run_omit=omit, 

+

285 run_include=include, 

+

286 debug=debug, 

+

287 report_omit=omit, 

+

288 report_include=include, 

+

289 concurrency=concurrency, 

+

290 context=context, 

+

291 ) 

+

292 

+

293 # If we have sub-process measurement happening automatically, then we 

+

294 # want any explicit creation of a Coverage object to mean, this process 

+

295 # is already coverage-aware, so don't auto-measure it. By now, the 

+

296 # auto-creation of a Coverage object has already happened. But we can 

+

297 # find it and tell it not to save its data. 

+

298 if not env.METACOV: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 _prevent_sub_process_measurement() 

+

300 

+

301 def _init(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 """Set all the initial state. 

+

303 

+

304 This is called by the public methods to initialize state. This lets us 

+

305 construct a :class:`Coverage` object, then tweak its state before this 

+

306 function is called. 

+

307 

+

308 """ 

+

309 if self._inited: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 

+

312 self._inited = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 

+

314 # Create and configure the debugging controller. 

+

315 self._debug = DebugControl(self.config.debug, self._debug_file, self.config.debug_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 

+

317 if "multiprocessing" in (self.config.concurrency or ()): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 # Multi-processing uses parallel for the subprocesses, so also use 

+

319 # it for the main process. 

+

320 self.config.parallel = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 

+

322 # _exclude_re is a dict that maps exclusion list names to compiled regexes. 

+

323 self._exclude_re = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 

+

325 set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 if self.config.relative_files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 self._file_mapper = relative_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 

+

329 # Load plugins 

+

330 self._plugins = Plugins.load_plugins(self.config.plugins, self.config, self._debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 

+

332 # Run configuring plugins. 

+

333 for plugin in self._plugins.configurers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 # We need an object with set_option and get_option. Either self or 

+

335 # self.config will do. Choosing randomly stops people from doing 

+

336 # other things with those objects, against the public API. Yes, 

+

337 # this is a bit childish. :) 

+

338 plugin.configure([self, self.config][int(time.time()) % 2]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 

+

340 def _post_init(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 """Stuff to do after everything is initialized.""" 

+

342 if self._should_write_debug: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 self._should_write_debug = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 self._write_startup_debug() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 

+

346 # '[run] _crash' will raise an exception if the value is close by in 

+

347 # the call stack, for testing error handling. 

+

348 if self.config._crash and self.config._crash in short_stack(limit=4): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 raise RuntimeError(f"Crashing because called by {self.config._crash}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 

+

351 def _write_startup_debug(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 """Write out debug info at startup if needed.""" 

+

353 wrote_any = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 with self._debug.without_callers(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 if self._debug.should("config"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 config_info = self.config.debug_info() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 write_formatted_info(self._debug.write, "config", config_info) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 wrote_any = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 

+

360 if self._debug.should("sys"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 write_formatted_info(self._debug.write, "sys", self.sys_info()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 for plugin in self._plugins: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 header = "sys: " + plugin._coverage_plugin_name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 info = plugin.sys_info() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 write_formatted_info(self._debug.write, header, info) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 wrote_any = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

367 

+

368 if self._debug.should("pybehave"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 write_formatted_info(self._debug.write, "pybehave", env.debug_info()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

370 wrote_any = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 

+

372 if wrote_any: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 write_formatted_info(self._debug.write, "end", ()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 

+

375 def _should_trace(self, filename: str, frame: FrameType) -> TFileDisposition: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 """Decide whether to trace execution in `filename`. 

+

377 

+

378 Calls `_should_trace_internal`, and returns the FileDisposition. 

+

379 

+

380 """ 

+

381 assert self._inorout is not None 

+

382 disp = self._inorout.should_trace(filename, frame) 

+

383 if self._debug.should('trace'): 

+

384 self._debug.write(disposition_debug_msg(disp)) 

+

385 return disp 

+

386 

+

387 def _check_include_omit_etc(self, filename: str, frame: FrameType) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 """Check a file name against the include/omit/etc, rules, verbosely. 

+

389 

+

390 Returns a boolean: True if the file should be traced, False if not. 

+

391 

+

392 """ 

+

393 assert self._inorout is not None 

+

394 reason = self._inorout.check_include_omit_etc(filename, frame) 

+

395 if self._debug.should('trace'): 

+

396 if not reason: 

+

397 msg = f"Including {filename!r}" 

+

398 else: 

+

399 msg = f"Not including {filename!r}: {reason}" 

+

400 self._debug.write(msg) 

+

401 

+

402 return not reason 

+

403 

+

404 def _warn(self, msg: str, slug: Optional[str] = None, once: bool = False) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 """Use `msg` as a warning. 

+

406 

+

407 For warning suppression, use `slug` as the shorthand. 

+

408 

+

409 If `once` is true, only show this warning once (determined by the 

+

410 slug.) 

+

411 

+

412 """ 

+

413 if not self._no_warn_slugs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

414 self._no_warn_slugs = list(self.config.disable_warnings) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 

+

416 if slug in self._no_warn_slugs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 # Don't issue the warning 

+

418 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 

+

420 self._warnings.append(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

421 if slug: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 msg = f"{msg} ({slug})" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

423 if self._debug.should('pid'): 423 ↛ 424line 423 didn't jump to line 424, because the condition on line 423 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 msg = f"[{os.getpid()}] {msg}" 

+

425 warnings.warn(msg, category=CoverageWarning, stacklevel=2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 

+

427 if once: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 assert slug is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 self._no_warn_slugs.append(slug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 

+

431 def _message(self, msg: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 """Write a message to the user, if configured to do so.""" 

+

433 if self._messages: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

434 print(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

435 

+

436 def get_option(self, option_name: str) -> Optional[TConfigValueOut]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 """Get an option from the configuration. 

+

438 

+

439 `option_name` is a colon-separated string indicating the section and 

+

440 option name. For example, the ``branch`` option in the ``[run]`` 

+

441 section of the config file would be indicated with `"run:branch"`. 

+

442 

+

443 Returns the value of the option. The type depends on the option 

+

444 selected. 

+

445 

+

446 As a special case, an `option_name` of ``"paths"`` will return an 

+

447 dictionary with the entire ``[paths]`` section value. 

+

448 

+

449 .. versionadded:: 4.0 

+

450 

+

451 """ 

+

452 return self.config.get_option(option_name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453 

+

454 def set_option(self, option_name: str, value: Union[TConfigValueIn, TConfigSectionIn]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 """Set an option in the configuration. 

+

456 

+

457 `option_name` is a colon-separated string indicating the section and 

+

458 option name. For example, the ``branch`` option in the ``[run]`` 

+

459 section of the config file would be indicated with ``"run:branch"``. 

+

460 

+

461 `value` is the new value for the option. This should be an 

+

462 appropriate Python value. For example, use True for booleans, not the 

+

463 string ``"True"``. 

+

464 

+

465 As an example, calling: 

+

466 

+

467 .. code-block:: python 

+

468 

+

469 cov.set_option("run:branch", True) 

+

470 

+

471 has the same effect as this configuration file: 

+

472 

+

473 .. code-block:: ini 

+

474 

+

475 [run] 

+

476 branch = True 

+

477 

+

478 As a special case, an `option_name` of ``"paths"`` will replace the 

+

479 entire ``[paths]`` section. The value should be a dictionary. 

+

480 

+

481 .. versionadded:: 4.0 

+

482 

+

483 """ 

+

484 self.config.set_option(option_name, value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

485 

+

486 def load(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

487 """Load previously-collected coverage data from the data file.""" 

+

488 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

489 if self._collector is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 self._collector.reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

491 should_skip = self.config.parallel and not os.path.exists(self.config.data_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 if not should_skip: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

493 self._init_data(suffix=None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

494 self._post_init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

495 if not should_skip: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

496 assert self._data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 self._data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 

+

499 def _init_for_start(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

500 """Initialization for start()""" 

+

501 # Construct the collector. 

+

502 concurrency: List[str] = self.config.concurrency or [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 if "multiprocessing" in concurrency: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 if self.config.config_file is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 raise ConfigError("multiprocessing requires a configuration file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 patch_multiprocessing(rcfile=self.config.config_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 

+

508 dycon = self.config.dynamic_context 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

509 if not dycon or dycon == "none": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

510 context_switchers = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 elif dycon == "test_function": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

512 context_switchers = [should_start_context_test_function] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 else: 

+

514 raise ConfigError(f"Don't understand dynamic_context setting: {dycon!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 

+

516 context_switchers.extend( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

517 plugin.dynamic_context for plugin in self._plugins.context_switchers 

+

518 ) 

+

519 

+

520 should_start_context = combine_context_switchers(context_switchers) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

521 

+

522 self._collector = Collector( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 should_trace=self._should_trace, 

+

524 check_include=self._check_include_omit_etc, 

+

525 should_start_context=should_start_context, 

+

526 file_mapper=self._file_mapper, 

+

527 timid=self.config.timid, 

+

528 branch=self.config.branch, 

+

529 warn=self._warn, 

+

530 concurrency=concurrency, 

+

531 ) 

+

532 

+

533 suffix = self._data_suffix_specified 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 if suffix: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 if not isinstance(suffix, str): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

536 # if data_suffix=True, use .machinename.pid.random 

+

537 suffix = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 elif self.config.parallel: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 if suffix is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

540 suffix = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

541 elif not isinstance(suffix, str): 541 ↛ 546line 541 didn't jump to line 546, because the condition on line 541 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

542 suffix = bool(suffix) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

543 else: 

+

544 suffix = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

545 

+

546 self._init_data(suffix) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 

+

548 assert self._data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

549 self._collector.use_data(self._data, self.config.context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 

+

551 # Early warning if we aren't going to be able to support plugins. 

+

552 if self._plugins.file_tracers and not self._collector.supports_plugins: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 self._warn( 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 "Plugin file tracers ({}) aren't supported with {}".format( 

+

555 ", ".join( 

+

556 plugin._coverage_plugin_name 

+

557 for plugin in self._plugins.file_tracers 

+

558 ), 

+

559 self._collector.tracer_name(), 

+

560 ) 

+

561 ) 

+

562 for plugin in self._plugins.file_tracers: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 plugin._coverage_enabled = False 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

564 

+

565 # Create the file classifying substructure. 

+

566 self._inorout = InOrOut( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

567 config=self.config, 

+

568 warn=self._warn, 

+

569 debug=(self._debug if self._debug.should('trace') else None), 

+

570 include_namespace_packages=self.config.include_namespace_packages, 

+

571 ) 

+

572 self._inorout.plugins = self._plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 self._inorout.disp_class = self._collector.file_disposition_class 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

574 

+

575 # It's useful to write debug info after initing for start. 

+

576 self._should_write_debug = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

577 

+

578 # Register our clean-up handlers. 

+

579 atexit.register(self._atexit) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

580 if self.config.sigterm: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 is_main = (threading.current_thread() == threading.main_thread()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

582 if is_main and not env.WINDOWS: 582 ↛ exitline 582 didn't return from function '_init_for_start', because the condition on line 582 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

583 # The Python docs seem to imply that SIGTERM works uniformly even 

+

584 # on Windows, but that's not my experience, and this agrees: 

+

585 # https://stackoverflow.com/questions/35772001/x/35792192#35792192 

+

586 self._old_sigterm = signal.signal( # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

587 signal.SIGTERM, self._on_sigterm, 

+

588 ) 

+

589 

+

590 def _init_data(self, suffix: Optional[Union[str, bool]]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 """Create a data file if we don't have one yet.""" 

+

592 if self._data is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 # Create the data file. We do this at construction time so that the 

+

594 # data file will be written into the directory where the process 

+

595 # started rather than wherever the process eventually chdir'd to. 

+

596 ensure_dir_for_file(self.config.data_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

597 self._data = CoverageData( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

598 basename=self.config.data_file, 

+

599 suffix=suffix, 

+

600 warn=self._warn, 

+

601 debug=self._debug, 

+

602 no_disk=self._no_disk, 

+

603 ) 

+

604 

+

605 def start(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 """Start measuring code coverage. 

+

607 

+

608 Coverage measurement only occurs in functions called after 

+

609 :meth:`start` is invoked. Statements in the same scope as 

+

610 :meth:`start` won't be measured. 

+

611 

+

612 Once you invoke :meth:`start`, you must also call :meth:`stop` 

+

613 eventually, or your process might not shut down cleanly. 

+

614 

+

615 """ 

+

616 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 if not self._inited_for_start: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

618 self._inited_for_start = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

619 self._init_for_start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

620 self._post_init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

621 

+

622 assert self._collector is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

623 assert self._inorout is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

624 

+

625 # Issue warnings for possible problems. 

+

626 self._inorout.warn_conflicting_settings() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 

+

628 # See if we think some code that would eventually be measured has 

+

629 # already been imported. 

+

630 if self._warn_preimported_source: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

631 self._inorout.warn_already_imported_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

632 

+

633 if self._auto_load: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

634 self.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

635 

+

636 self._collector.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

637 self._started = True 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

638 self._instances.append(self) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 

+

640 def stop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

641 """Stop measuring code coverage.""" 

+

642 if self._instances: 642 ↛ 645line 642 didn't jump to line 645, because the condition on line 642 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

643 if self._instances[-1] is self: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

644 self._instances.pop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 if self._started: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 assert self._collector is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

647 self._collector.stop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

648 self._started = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 

+

650 def _atexit(self, event: str = "atexit") -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

651 """Clean up on process shutdown.""" 

+

652 if self._debug.should("process"): 652 ↛ 653line 652 didn't jump to line 653, because the condition on line 652 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

653 self._debug.write(f"{event}: pid: {os.getpid()}, instance: {self!r}") 

+

654 if self._started: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

655 self.stop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

656 if self._auto_save: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

657 self.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

658 

+

659 def _on_sigterm(self, signum_unused: int, frame_unused: Optional[FrameType]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

660 """A handler for signal.SIGTERM.""" 

+

661 self._atexit("sigterm") 

+

662 # Statements after here won't be seen by metacov because we just wrote 

+

663 # the data, and are about to kill the process. 

+

664 signal.signal(signal.SIGTERM, self._old_sigterm) # pragma: not covered 

+

665 os.kill(os.getpid(), signal.SIGTERM) # pragma: not covered 

+

666 

+

667 def erase(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

668 """Erase previously collected coverage data. 

+

669 

+

670 This removes the in-memory data collected in this session as well as 

+

671 discarding the data file. 

+

672 

+

673 """ 

+

674 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 self._post_init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

676 if self._collector is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

677 self._collector.reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

678 self._init_data(suffix=None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 assert self._data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

680 self._data.erase(parallel=self.config.parallel) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

681 self._data = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

682 self._inited_for_start = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

683 

+

684 def switch_context(self, new_context: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 """Switch to a new dynamic context. 

+

686 

+

687 `new_context` is a string to use as the :ref:`dynamic context 

+

688 <dynamic_contexts>` label for collected data. If a :ref:`static 

+

689 context <static_contexts>` is in use, the static and dynamic context 

+

690 labels will be joined together with a pipe character. 

+

691 

+

692 Coverage collection must be started already. 

+

693 

+

694 .. versionadded:: 5.0 

+

695 

+

696 """ 

+

697 if not self._started: # pragma: part started 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 raise CoverageException("Cannot switch context, coverage is not started") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

699 

+

700 assert self._collector is not None 

+

701 if self._collector.should_start_context: 

+

702 self._warn("Conflicting dynamic contexts", slug="dynamic-conflict", once=True) 

+

703 

+

704 self._collector.switch_context(new_context) 

+

705 

+

706 def clear_exclude(self, which: str = 'exclude') -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

707 """Clear the exclude list.""" 

+

708 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

709 setattr(self.config, which + "_list", []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 self._exclude_regex_stale() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

711 

+

712 def exclude(self, regex: str, which: str = 'exclude') -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

713 """Exclude source lines from execution consideration. 

+

714 

+

715 A number of lists of regular expressions are maintained. Each list 

+

716 selects lines that are treated differently during reporting. 

+

717 

+

718 `which` determines which list is modified. The "exclude" list selects 

+

719 lines that are not considered executable at all. The "partial" list 

+

720 indicates lines with branches that are not taken. 

+

721 

+

722 `regex` is a regular expression. The regex is added to the specified 

+

723 list. If any of the regexes in the list is found in a line, the line 

+

724 is marked for special treatment during reporting. 

+

725 

+

726 """ 

+

727 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

728 excl_list = getattr(self.config, which + "_list") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

729 excl_list.append(regex) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

730 self._exclude_regex_stale() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

731 

+

732 def _exclude_regex_stale(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

733 """Drop all the compiled exclusion regexes, a list was modified.""" 

+

734 self._exclude_re.clear() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

735 

+

736 def _exclude_regex(self, which: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

737 """Return a regex string for the given exclusion list.""" 

+

738 if which not in self._exclude_re: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

739 excl_list = getattr(self.config, which + "_list") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

740 self._exclude_re[which] = join_regex(excl_list) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

741 return self._exclude_re[which] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

742 

+

743 def get_exclude_list(self, which: str = 'exclude') -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

744 """Return a list of excluded regex strings. 

+

745 

+

746 `which` indicates which list is desired. See :meth:`exclude` for the 

+

747 lists that are available, and their meaning. 

+

748 

+

749 """ 

+

750 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

751 return cast(List[str], getattr(self.config, which + "_list")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

752 

+

753 def save(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

754 """Save the collected coverage data to the data file.""" 

+

755 data = self.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

756 data.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 

+

758 def _make_aliases(self) -> PathAliases: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

759 """Create a PathAliases from our configuration.""" 

+

760 aliases = PathAliases( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

761 debugfn=(self._debug.write if self._debug.should("pathmap") else None), 

+

762 relative=self.config.relative_files, 

+

763 ) 

+

764 for paths in self.config.paths.values(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

765 result = paths[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

766 for pattern in paths[1:]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

767 aliases.add(pattern, result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

768 return aliases 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

769 

+

770 def combine( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

771 self, 

+

772 data_paths: Optional[Iterable[str]] = None, 

+

773 strict: bool = False, 

+

774 keep: bool = False 

+

775 ) -> None: 

+

776 """Combine together a number of similarly-named coverage data files. 

+

777 

+

778 All coverage data files whose name starts with `data_file` (from the 

+

779 coverage() constructor) will be read, and combined together into the 

+

780 current measurements. 

+

781 

+

782 `data_paths` is a list of files or directories from which data should 

+

783 be combined. If no list is passed, then the data files from the 

+

784 directory indicated by the current data file (probably the current 

+

785 directory) will be combined. 

+

786 

+

787 If `strict` is true, then it is an error to attempt to combine when 

+

788 there are no data files to combine. 

+

789 

+

790 If `keep` is true, then original input data files won't be deleted. 

+

791 

+

792 .. versionadded:: 4.0 

+

793 The `data_paths` parameter. 

+

794 

+

795 .. versionadded:: 4.3 

+

796 The `strict` parameter. 

+

797 

+

798 .. versionadded: 5.5 

+

799 The `keep` parameter. 

+

800 """ 

+

801 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

802 self._init_data(suffix=None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

803 self._post_init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

804 self.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

805 

+

806 assert self._data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

807 combine_parallel_data( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

808 self._data, 

+

809 aliases=self._make_aliases(), 

+

810 data_paths=data_paths, 

+

811 strict=strict, 

+

812 keep=keep, 

+

813 message=self._message, 

+

814 ) 

+

815 

+

816 def get_data(self) -> CoverageData: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

817 """Get the collected data. 

+

818 

+

819 Also warn about various problems collecting data. 

+

820 

+

821 Returns a :class:`coverage.CoverageData`, the collected coverage data. 

+

822 

+

823 .. versionadded:: 4.0 

+

824 

+

825 """ 

+

826 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

827 self._init_data(suffix=None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

828 self._post_init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

829 

+

830 if self._collector is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

831 for plugin in self._plugins: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

832 if not plugin._coverage_enabled: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

833 self._collector.plugin_was_disabled(plugin) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

834 

+

835 if self._collector.flush_data(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

836 self._post_save_work() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

837 

+

838 assert self._data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

839 return self._data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

840 

+

841 def _post_save_work(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

842 """After saving data, look for warnings, post-work, etc. 

+

843 

+

844 Warn about things that should have happened but didn't. 

+

845 Look for un-executed files. 

+

846 

+

847 """ 

+

848 assert self._data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

849 assert self._inorout is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

850 

+

851 # If there are still entries in the source_pkgs_unmatched list, 

+

852 # then we never encountered those packages. 

+

853 if self._warn_unimported_source: 853 ↛ 857line 853 didn't jump to line 857, because the condition on line 853 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

854 self._inorout.warn_unimported_source() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

855 

+

856 # Find out if we got any data. 

+

857 if not self._data and self._warn_no_data: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

858 self._warn("No data was collected.", slug="no-data-collected") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

859 

+

860 # Touch all the files that could have executed, so that we can 

+

861 # mark completely un-executed files as 0% covered. 

+

862 file_paths = collections.defaultdict(list) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

863 for file_path, plugin_name in self._inorout.find_possibly_unexecuted_files(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

864 file_path = self._file_mapper(file_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

865 file_paths[plugin_name].append(file_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

866 for plugin_name, paths in file_paths.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

867 self._data.touch_files(paths, plugin_name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

868 

+

869 # Backward compatibility with version 1. 

+

870 def analysis(self, morf: TMorf) -> Tuple[str, List[TLineNo], List[TLineNo], str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

871 """Like `analysis2` but doesn't return excluded line numbers.""" 

+

872 f, s, _, m, mf = self.analysis2(morf) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

873 return f, s, m, mf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

874 

+

875 def analysis2( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

876 self, 

+

877 morf: TMorf, 

+

878 ) -> Tuple[str, List[TLineNo], List[TLineNo], List[TLineNo], str]: 

+

879 """Analyze a module. 

+

880 

+

881 `morf` is a module or a file name. It will be analyzed to determine 

+

882 its coverage statistics. The return value is a 5-tuple: 

+

883 

+

884 * The file name for the module. 

+

885 * A list of line numbers of executable statements. 

+

886 * A list of line numbers of excluded statements. 

+

887 * A list of line numbers of statements not run (missing from 

+

888 execution). 

+

889 * A readable formatted string of the missing line numbers. 

+

890 

+

891 The analysis uses the source file itself and the current measured 

+

892 coverage data. 

+

893 

+

894 """ 

+

895 analysis = self._analyze(morf) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

896 return ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

897 analysis.filename, 

+

898 sorted(analysis.statements), 

+

899 sorted(analysis.excluded), 

+

900 sorted(analysis.missing), 

+

901 analysis.missing_formatted(), 

+

902 ) 

+

903 

+

904 def _analyze(self, it: Union[FileReporter, TMorf]) -> Analysis: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

905 """Analyze a single morf or code unit. 

+

906 

+

907 Returns an `Analysis` object. 

+

908 

+

909 """ 

+

910 # All reporting comes through here, so do reporting initialization. 

+

911 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

912 self._post_init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

913 

+

914 data = self.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

915 if isinstance(it, FileReporter): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

916 fr = it 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

917 else: 

+

918 fr = self._get_file_reporter(it) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

919 

+

920 return Analysis(data, self.config.precision, fr, self._file_mapper) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

921 

+

922 def _get_file_reporter(self, morf: TMorf) -> FileReporter: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

923 """Get a FileReporter for a module or file name.""" 

+

924 assert self._data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

925 plugin = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

926 file_reporter: Union[str, FileReporter] = "python" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

927 

+

928 if isinstance(morf, str): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

929 mapped_morf = self._file_mapper(morf) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

930 plugin_name = self._data.file_tracer(mapped_morf) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

931 if plugin_name: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

932 plugin = self._plugins.get(plugin_name) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

933 

+

934 if plugin: 934 ↛ 943line 934 didn't jump to line 943, because the condition on line 934 was never false3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

935 file_reporter = plugin.file_reporter(mapped_morf) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

936 if file_reporter is None: 936 ↛ 937line 936 didn't jump to line 937, because the condition on line 936 was never true3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

937 raise PluginError( 

+

938 "Plugin {!r} did not provide a file reporter for {!r}.".format( 

+

939 plugin._coverage_plugin_name, morf 

+

940 ) 

+

941 ) 

+

942 

+

943 if file_reporter == "python": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

944 file_reporter = PythonFileReporter(morf, self) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

945 

+

946 assert isinstance(file_reporter, FileReporter) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

947 return file_reporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

948 

+

949 def _get_file_reporters(self, morfs: Optional[Iterable[TMorf]] = None) -> List[FileReporter]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

950 """Get a list of FileReporters for a list of modules or file names. 

+

951 

+

952 For each module or file name in `morfs`, find a FileReporter. Return 

+

953 the list of FileReporters. 

+

954 

+

955 If `morfs` is a single module or file name, this returns a list of one 

+

956 FileReporter. If `morfs` is empty or None, then the list of all files 

+

957 measured is used to find the FileReporters. 

+

958 

+

959 """ 

+

960 assert self._data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

961 if not morfs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

962 morfs = self._data.measured_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

963 

+

964 # Be sure we have a collection. 

+

965 if not isinstance(morfs, (list, tuple, set)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

966 morfs = [morfs] # type: ignore[list-item] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

967 

+

968 file_reporters = [self._get_file_reporter(morf) for morf in morfs] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

969 return file_reporters 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

970 

+

971 def _prepare_data_for_reporting(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

972 """Re-map data before reporting, to get implicit 'combine' behavior.""" 

+

973 if self.config.paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

974 mapped_data = CoverageData(warn=self._warn, debug=self._debug, no_disk=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

975 if self._data is not None: 975 ↛ 977line 975 didn't jump to line 977, because the condition on line 975 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

976 mapped_data.update(self._data, aliases=self._make_aliases()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

977 self._data = mapped_data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

978 

+

979 def report( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

980 self, 

+

981 morfs: Optional[Iterable[TMorf]] = None, 

+

982 show_missing: Optional[bool] = None, 

+

983 ignore_errors: Optional[bool] = None, 

+

984 file: Optional[IO[str]] = None, 

+

985 omit: Optional[Union[str, List[str]]] = None, 

+

986 include: Optional[Union[str, List[str]]] = None, 

+

987 skip_covered: Optional[bool] = None, 

+

988 contexts: Optional[List[str]] = None, 

+

989 skip_empty: Optional[bool] = None, 

+

990 precision: Optional[int] = None, 

+

991 sort: Optional[str] = None, 

+

992 output_format: Optional[str] = None, 

+

993 ) -> float: 

+

994 """Write a textual summary report to `file`. 

+

995 

+

996 Each module in `morfs` is listed, with counts of statements, executed 

+

997 statements, missing statements, and a list of lines missed. 

+

998 

+

999 If `show_missing` is true, then details of which lines or branches are 

+

1000 missing will be included in the report. If `ignore_errors` is true, 

+

1001 then a failure while reporting a single file will not stop the entire 

+

1002 report. 

+

1003 

+

1004 `file` is a file-like object, suitable for writing. 

+

1005 

+

1006 `output_format` determines the format, either "text" (the default), 

+

1007 "markdown", or "total". 

+

1008 

+

1009 `include` is a list of file name patterns. Files that match will be 

+

1010 included in the report. Files matching `omit` will not be included in 

+

1011 the report. 

+

1012 

+

1013 If `skip_covered` is true, don't report on files with 100% coverage. 

+

1014 

+

1015 If `skip_empty` is true, don't report on empty files (those that have 

+

1016 no statements). 

+

1017 

+

1018 `contexts` is a list of regular expression strings. Only data from 

+

1019 :ref:`dynamic contexts <dynamic_contexts>` that match one of those 

+

1020 expressions (using :func:`re.search <python:re.search>`) will be 

+

1021 included in the report. 

+

1022 

+

1023 `precision` is the number of digits to display after the decimal 

+

1024 point for percentages. 

+

1025 

+

1026 All of the arguments default to the settings read from the 

+

1027 :ref:`configuration file <config>`. 

+

1028 

+

1029 Returns a float, the total percentage covered. 

+

1030 

+

1031 .. versionadded:: 4.0 

+

1032 The `skip_covered` parameter. 

+

1033 

+

1034 .. versionadded:: 5.0 

+

1035 The `contexts` and `skip_empty` parameters. 

+

1036 

+

1037 .. versionadded:: 5.2 

+

1038 The `precision` parameter. 

+

1039 

+

1040 .. versionadded:: 7.0 

+

1041 The `format` parameter. 

+

1042 

+

1043 """ 

+

1044 self._prepare_data_for_reporting() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1045 with override_config( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1046 self, 

+

1047 ignore_errors=ignore_errors, 

+

1048 report_omit=omit, 

+

1049 report_include=include, 

+

1050 show_missing=show_missing, 

+

1051 skip_covered=skip_covered, 

+

1052 report_contexts=contexts, 

+

1053 skip_empty=skip_empty, 

+

1054 precision=precision, 

+

1055 sort=sort, 

+

1056 format=output_format, 

+

1057 ): 

+

1058 reporter = SummaryReporter(self) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1059 return reporter.report(morfs, outfile=file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1060 

+

1061 def annotate( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1062 self, 

+

1063 morfs: Optional[Iterable[TMorf]] = None, 

+

1064 directory: Optional[str] = None, 

+

1065 ignore_errors: Optional[bool] = None, 

+

1066 omit: Optional[Union[str, List[str]]] = None, 

+

1067 include: Optional[Union[str, List[str]]] = None, 

+

1068 contexts: Optional[List[str]] = None, 

+

1069 ) -> None: 

+

1070 """Annotate a list of modules. 

+

1071 

+

1072 .. note:: 

+

1073 

+

1074 This method has been obsoleted by more modern reporting tools, 

+

1075 including the :meth:`html_report` method. It will be removed in a 

+

1076 future version. 

+

1077 

+

1078 Each module in `morfs` is annotated. The source is written to a new 

+

1079 file, named with a ",cover" suffix, with each line prefixed with a 

+

1080 marker to indicate the coverage of the line. Covered lines have ">", 

+

1081 excluded lines have "-", and missing lines have "!". 

+

1082 

+

1083 See :meth:`report` for other arguments. 

+

1084 

+

1085 """ 

+

1086 print("The annotate command will be removed in a future version.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1087 print("Get in touch if you still use it: ned@nedbatchelder.com") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1088 

+

1089 self._prepare_data_for_reporting() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1090 with override_config( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1091 self, 

+

1092 ignore_errors=ignore_errors, 

+

1093 report_omit=omit, 

+

1094 report_include=include, 

+

1095 report_contexts=contexts, 

+

1096 ): 

+

1097 reporter = AnnotateReporter(self) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1098 reporter.report(morfs, directory=directory) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1099 

+

1100 def html_report( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1101 self, 

+

1102 morfs: Optional[Iterable[TMorf]] = None, 

+

1103 directory: Optional[str] = None, 

+

1104 ignore_errors: Optional[bool] = None, 

+

1105 omit: Optional[Union[str, List[str]]] = None, 

+

1106 include: Optional[Union[str, List[str]]] = None, 

+

1107 extra_css: Optional[str] = None, 

+

1108 title: Optional[str] = None, 

+

1109 skip_covered: Optional[bool] = None, 

+

1110 show_contexts: Optional[bool] = None, 

+

1111 contexts: Optional[List[str]] = None, 

+

1112 skip_empty: Optional[bool] = None, 

+

1113 precision: Optional[int] = None, 

+

1114 ) -> float: 

+

1115 """Generate an HTML report. 

+

1116 

+

1117 The HTML is written to `directory`. The file "index.html" is the 

+

1118 overview starting point, with links to more detailed pages for 

+

1119 individual modules. 

+

1120 

+

1121 `extra_css` is a path to a file of other CSS to apply on the page. 

+

1122 It will be copied into the HTML directory. 

+

1123 

+

1124 `title` is a text string (not HTML) to use as the title of the HTML 

+

1125 report. 

+

1126 

+

1127 See :meth:`report` for other arguments. 

+

1128 

+

1129 Returns a float, the total percentage covered. 

+

1130 

+

1131 .. note:: 

+

1132 

+

1133 The HTML report files are generated incrementally based on the 

+

1134 source files and coverage results. If you modify the report files, 

+

1135 the changes will not be considered. You should be careful about 

+

1136 changing the files in the report folder. 

+

1137 

+

1138 """ 

+

1139 self._prepare_data_for_reporting() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1140 with override_config( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1141 self, 

+

1142 ignore_errors=ignore_errors, 

+

1143 report_omit=omit, 

+

1144 report_include=include, 

+

1145 html_dir=directory, 

+

1146 extra_css=extra_css, 

+

1147 html_title=title, 

+

1148 html_skip_covered=skip_covered, 

+

1149 show_contexts=show_contexts, 

+

1150 report_contexts=contexts, 

+

1151 html_skip_empty=skip_empty, 

+

1152 precision=precision, 

+

1153 ): 

+

1154 reporter = HtmlReporter(self) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1155 ret = reporter.report(morfs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1156 return ret 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1157 

+

1158 def xml_report( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1159 self, 

+

1160 morfs: Optional[Iterable[TMorf]] = None, 

+

1161 outfile: Optional[str] = None, 

+

1162 ignore_errors: Optional[bool] = None, 

+

1163 omit: Optional[Union[str, List[str]]] = None, 

+

1164 include: Optional[Union[str, List[str]]] = None, 

+

1165 contexts: Optional[List[str]] = None, 

+

1166 skip_empty: Optional[bool] = None, 

+

1167 ) -> float: 

+

1168 """Generate an XML report of coverage results. 

+

1169 

+

1170 The report is compatible with Cobertura reports. 

+

1171 

+

1172 Each module in `morfs` is included in the report. `outfile` is the 

+

1173 path to write the file to, "-" will write to stdout. 

+

1174 

+

1175 See :meth:`report` for other arguments. 

+

1176 

+

1177 Returns a float, the total percentage covered. 

+

1178 

+

1179 """ 

+

1180 self._prepare_data_for_reporting() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1181 with override_config( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1182 self, 

+

1183 ignore_errors=ignore_errors, 

+

1184 report_omit=omit, 

+

1185 report_include=include, 

+

1186 xml_output=outfile, 

+

1187 report_contexts=contexts, 

+

1188 skip_empty=skip_empty, 

+

1189 ): 

+

1190 return render_report(self.config.xml_output, XmlReporter(self), morfs, self._message) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1191 

+

1192 def json_report( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1193 self, 

+

1194 morfs: Optional[Iterable[TMorf]] = None, 

+

1195 outfile: Optional[str] = None, 

+

1196 ignore_errors: Optional[bool] = None, 

+

1197 omit: Optional[Union[str, List[str]]] = None, 

+

1198 include: Optional[Union[str, List[str]]] = None, 

+

1199 contexts: Optional[List[str]] = None, 

+

1200 pretty_print: Optional[bool] = None, 

+

1201 show_contexts: Optional[bool] = None, 

+

1202 ) -> float: 

+

1203 """Generate a JSON report of coverage results. 

+

1204 

+

1205 Each module in `morfs` is included in the report. `outfile` is the 

+

1206 path to write the file to, "-" will write to stdout. 

+

1207 

+

1208 `pretty_print` is a boolean, whether to pretty-print the JSON output or not. 

+

1209 

+

1210 See :meth:`report` for other arguments. 

+

1211 

+

1212 Returns a float, the total percentage covered. 

+

1213 

+

1214 .. versionadded:: 5.0 

+

1215 

+

1216 """ 

+

1217 self._prepare_data_for_reporting() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1218 with override_config( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1219 self, 

+

1220 ignore_errors=ignore_errors, 

+

1221 report_omit=omit, 

+

1222 report_include=include, 

+

1223 json_output=outfile, 

+

1224 report_contexts=contexts, 

+

1225 json_pretty_print=pretty_print, 

+

1226 json_show_contexts=show_contexts, 

+

1227 ): 

+

1228 return render_report(self.config.json_output, JsonReporter(self), morfs, self._message) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1229 

+

1230 def lcov_report( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1231 self, 

+

1232 morfs: Optional[Iterable[TMorf]] = None, 

+

1233 outfile: Optional[str] = None, 

+

1234 ignore_errors: Optional[bool] = None, 

+

1235 omit: Optional[Union[str, List[str]]] = None, 

+

1236 include: Optional[Union[str, List[str]]] = None, 

+

1237 contexts: Optional[List[str]] = None, 

+

1238 ) -> float: 

+

1239 """Generate an LCOV report of coverage results. 

+

1240 

+

1241 Each module in 'morfs' is included in the report. 'outfile' is the 

+

1242 path to write the file to, "-" will write to stdout. 

+

1243 

+

1244 See :meth 'report' for other arguments. 

+

1245 

+

1246 .. versionadded:: 6.3 

+

1247 """ 

+

1248 self._prepare_data_for_reporting() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1249 with override_config( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1250 self, 

+

1251 ignore_errors=ignore_errors, 

+

1252 report_omit=omit, 

+

1253 report_include=include, 

+

1254 lcov_output=outfile, 

+

1255 report_contexts=contexts, 

+

1256 ): 

+

1257 return render_report(self.config.lcov_output, LcovReporter(self), morfs, self._message) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1258 

+

1259 def sys_info(self) -> Iterable[Tuple[str, Any]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1260 """Return a list of (key, value) pairs showing internal information.""" 

+

1261 

+

1262 import coverage as covmod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1263 

+

1264 self._init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1265 self._post_init() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1266 

+

1267 def plugin_info(plugins: List[Any]) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1268 """Make an entry for the sys_info from a list of plug-ins.""" 

+

1269 entries = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1270 for plugin in plugins: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1271 entry = plugin._coverage_plugin_name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1272 if not plugin._coverage_enabled: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1273 entry += " (disabled)" 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1274 entries.append(entry) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1275 return entries 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1276 

+

1277 info = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1278 ('coverage_version', covmod.__version__), 

+

1279 ('coverage_module', covmod.__file__), 

+

1280 ('tracer', self._collector.tracer_name() if self._collector is not None else "-none-"), 

+

1281 ('CTracer', 'available' if HAS_CTRACER else "unavailable"), 

+

1282 ('plugins.file_tracers', plugin_info(self._plugins.file_tracers)), 

+

1283 ('plugins.configurers', plugin_info(self._plugins.configurers)), 

+

1284 ('plugins.context_switchers', plugin_info(self._plugins.context_switchers)), 

+

1285 ('configs_attempted', self.config.attempted_config_files), 

+

1286 ('configs_read', self.config.config_files_read), 

+

1287 ('config_file', self.config.config_file), 

+

1288 ('config_contents', 

+

1289 repr(self.config._config_contents) if self.config._config_contents else '-none-' 

+

1290 ), 

+

1291 ('data_file', self._data.data_filename() if self._data is not None else "-none-"), 

+

1292 ('python', sys.version.replace('\n', '')), 

+

1293 ('platform', platform.platform()), 

+

1294 ('implementation', platform.python_implementation()), 

+

1295 ('executable', sys.executable), 

+

1296 ('def_encoding', sys.getdefaultencoding()), 

+

1297 ('fs_encoding', sys.getfilesystemencoding()), 

+

1298 ('pid', os.getpid()), 

+

1299 ('cwd', os.getcwd()), 

+

1300 ('path', sys.path), 

+

1301 ('environment', human_sorted( 

+

1302 f"{k} = {v}" 

+

1303 for k, v in os.environ.items() 

+

1304 if ( 

+

1305 any(slug in k for slug in ("COV", "PY")) or 

+

1306 (k in ("HOME", "TEMP", "TMP")) 

+

1307 ) 

+

1308 )), 

+

1309 ('command_line', " ".join(getattr(sys, 'argv', ['-none-']))), 

+

1310 ] 

+

1311 

+

1312 if self._inorout is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1313 info.extend(self._inorout.sys_info()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1314 

+

1315 info.extend(CoverageData.sys_info()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1316 

+

1317 return info 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1318 

+

1319 

+

1320# Mega debugging... 

+

1321# $set_env.py: COVERAGE_DEBUG_CALLS - Lots and lots of output about calls to Coverage. 

+

1322if int(os.environ.get("COVERAGE_DEBUG_CALLS", 0)): # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1323 from coverage.debug import decorate_methods, show_calls 

+

1324 

+

1325 Coverage = decorate_methods( # type: ignore[misc] 

+

1326 show_calls(show_args=True), 

+

1327 butnot=['get_data'] 

+

1328 )(Coverage) 

+

1329 

+

1330 

+

1331def process_startup() -> Optional[Coverage]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1332 """Call this at Python start-up to perhaps measure coverage. 

+

1333 

+

1334 If the environment variable COVERAGE_PROCESS_START is defined, coverage 

+

1335 measurement is started. The value of the variable is the config file 

+

1336 to use. 

+

1337 

+

1338 There are two ways to configure your Python installation to invoke this 

+

1339 function when Python starts: 

+

1340 

+

1341 #. Create or append to sitecustomize.py to add these lines:: 

+

1342 

+

1343 import coverage 

+

1344 coverage.process_startup() 

+

1345 

+

1346 #. Create a .pth file in your Python installation containing:: 

+

1347 

+

1348 import coverage; coverage.process_startup() 

+

1349 

+

1350 Returns the :class:`Coverage` instance that was started, or None if it was 

+

1351 not started by this call. 

+

1352 

+

1353 """ 

+

1354 cps = os.environ.get("COVERAGE_PROCESS_START") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1355 if not cps: 1355 ↛ 1357line 1355 didn't jump to line 1357, because the condition on line 1355 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1356 # No request for coverage, nothing to do. 

+

1357 return None 

+

1358 

+

1359 # This function can be called more than once in a process. This happens 

+

1360 # because some virtualenv configurations make the same directory visible 

+

1361 # twice in sys.path. This means that the .pth file will be found twice, 

+

1362 # and executed twice, executing this function twice. We set a global 

+

1363 # flag (an attribute on this function) to indicate that coverage.py has 

+

1364 # already been started, so we can avoid doing it twice. 

+

1365 # 

+

1366 # https://github.com/nedbat/coveragepy/issues/340 has more details. 

+

1367 

+

1368 if hasattr(process_startup, "coverage"): 1368 ↛ 1373line 1368 didn't jump to line 1373, because the condition on line 1368 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1369 # We've annotated this function before, so we must have already 

+

1370 # started coverage.py in this process. Nothing to do. 

+

1371 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1372 

+

1373 cov = Coverage(config_file=cps) 

+

1374 process_startup.coverage = cov # type: ignore[attr-defined] 

+

1375 cov._warn_no_data = False 

+

1376 cov._warn_unimported_source = False 

+

1377 cov._warn_preimported_source = False 

+

1378 cov._auto_save = True 

+

1379 cov.start() 

+

1380 

+

1381 return cov 

+

1382 

+

1383 

+

1384def _prevent_sub_process_measurement() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1385 """Stop any subprocess auto-measurement from writing data.""" 

+

1386 auto_created_coverage = getattr(process_startup, "coverage", None) 

+

1387 if auto_created_coverage is not None: 

+

1388 auto_created_coverage._auto_save = False 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_data_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_data_py.html new file mode 100644 index 000000000..c586983e8 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_data_py.html @@ -0,0 +1,312 @@ + + + + + Coverage for coverage/data.py: 95.364% + + + + + +
+
+

+ Coverage for coverage/data.py: + 95.364% +

+ +

+ 105 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Coverage data for coverage.py. 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6This file had the 4.x JSON data support, which is now gone. This file still 

+

7has storage-agnostic helpers, and is kept to avoid changing too many imports. 

+

8CoverageData is now defined in sqldata.py, and imported here to keep the 

+

9imports working. 

+

10 

+

11""" 

+

12 

+

13from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import hashlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19from typing import Callable, Dict, Iterable, List, Optional 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21from coverage.exceptions import CoverageException, NoDataError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.files import PathAliases 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.misc import Hasher, file_be_gone, human_sorted, plural 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.sqldata import CoverageData 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26 

+

27def line_counts(data: CoverageData, fullpath: bool = False) -> Dict[str, int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 """Return a dict summarizing the line coverage data. 

+

29 

+

30 Keys are based on the file names, and values are the number of executed 

+

31 lines. If `fullpath` is true, then the keys are the full pathnames of 

+

32 the files, otherwise they are the basenames of the files. 

+

33 

+

34 Returns a dict mapping file names to counts of lines. 

+

35 

+

36 """ 

+

37 summ = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 filename_fn: Callable[[str], str] 

+

39 if fullpath: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 # pylint: disable=unnecessary-lambda-assignment 

+

41 filename_fn = lambda f: f 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 else: 

+

43 filename_fn = os.path.basename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 for filename in data.measured_files(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 lines = data.lines(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 assert lines is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 summ[filename_fn(filename)] = len(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 return summ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 

+

51def add_data_to_hash(data: CoverageData, filename: str, hasher: Hasher) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 """Contribute `filename`'s data to the `hasher`. 

+

53 

+

54 `hasher` is a `coverage.misc.Hasher` instance to be updated with 

+

55 the file's data. It should only get the results data, not the run 

+

56 data. 

+

57 

+

58 """ 

+

59 if data.has_arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 hasher.update(sorted(data.arcs(filename) or [])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 else: 

+

62 hasher.update(sorted_lines(data, filename)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 hasher.update(data.file_tracer(filename)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 

+

66def combinable_files(data_file: str, data_paths: Optional[Iterable[str]] = None) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 """Make a list of data files to be combined. 

+

68 

+

69 `data_file` is a path to a data file. `data_paths` is a list of files or 

+

70 directories of files. 

+

71 

+

72 Returns a list of absolute file paths. 

+

73 """ 

+

74 data_dir, local = os.path.split(os.path.abspath(data_file)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 

+

76 data_paths = data_paths or [data_dir] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 files_to_combine = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 for p in data_paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 if os.path.isfile(p): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 files_to_combine.append(os.path.abspath(p)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 elif os.path.isdir(p): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 pattern = glob.escape(os.path.join(os.path.abspath(p), local)) +".*" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 files_to_combine.extend(glob.glob(pattern)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 else: 

+

85 raise NoDataError(f"Couldn't combine from non-existent path '{p}'") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 return files_to_combine 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 

+

88 

+

89def combine_parallel_data( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

90 data: CoverageData, 

+

91 aliases: Optional[PathAliases] = None, 

+

92 data_paths: Optional[Iterable[str]] = None, 

+

93 strict: bool = False, 

+

94 keep: bool = False, 

+

95 message: Optional[Callable[[str], None]] = None, 

+

96) -> None: 

+

97 """Combine a number of data files together. 

+

98 

+

99 `data` is a CoverageData. 

+

100 

+

101 Treat `data.filename` as a file prefix, and combine the data from all 

+

102 of the data files starting with that prefix plus a dot. 

+

103 

+

104 If `aliases` is provided, it's a `PathAliases` object that is used to 

+

105 re-map paths to match the local machine's. 

+

106 

+

107 If `data_paths` is provided, it is a list of directories or files to 

+

108 combine. Directories are searched for files that start with 

+

109 `data.filename` plus dot as a prefix, and those files are combined. 

+

110 

+

111 If `data_paths` is not provided, then the directory portion of 

+

112 `data.filename` is used as the directory to search for data files. 

+

113 

+

114 Unless `keep` is True every data file found and combined is then deleted 

+

115 from disk. If a file cannot be read, a warning will be issued, and the 

+

116 file will not be deleted. 

+

117 

+

118 If `strict` is true, and no files are found to combine, an error is 

+

119 raised. 

+

120 

+

121 `message` is a function to use for printing messages to the user. 

+

122 

+

123 """ 

+

124 files_to_combine = combinable_files(data.base_filename(), data_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 

+

126 if strict and not files_to_combine: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 raise NoDataError("No data to combine") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 

+

129 file_hashes = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 combined_any = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 

+

132 for f in files_to_combine: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 if f == data.data_filename(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 # Sometimes we are combining into a file which is one of the 

+

135 # parallel files. Skip that file. 

+

136 if data._debug.should('dataio'): 136 ↛ 137line 136 didn't jump to line 137, because the condition on line 136 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 data._debug.write(f"Skipping combining ourself: {f!r}") 

+

138 continue 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

139 

+

140 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 rel_file_name = os.path.relpath(f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 except ValueError: 

+

143 # ValueError can be raised under Windows when os.getcwd() returns a 

+

144 # folder from a different drive than the drive of f, in which case 

+

145 # we print the original value of f instead of its relative path 

+

146 rel_file_name = f 

+

147 

+

148 with open(f, "rb") as fobj: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 hasher = hashlib.new("sha3_256") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 hasher.update(fobj.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 sha = hasher.digest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 combine_this_one = sha not in file_hashes 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 

+

154 delete_this_one = not keep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 if combine_this_one: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 if data._debug.should('dataio'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 data._debug.write(f"Combining data file {f!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 file_hashes.add(sha) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 new_data = CoverageData(f, debug=data._debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 new_data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 except CoverageException as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 if data._warn: 163 ↛ 167line 163 didn't jump to line 167, because the condition on line 163 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 # The CoverageException has the file name in it, so just 

+

165 # use the message as the warning. 

+

166 data._warn(str(exc)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 if message: 167 ↛ 169line 167 didn't jump to line 169, because the condition on line 167 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 message(f"Couldn't combine data file {rel_file_name}: {exc}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 delete_this_one = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 else: 

+

171 data.update(new_data, aliases=aliases) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 combined_any = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 if message: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 message(f"Combined data file {rel_file_name}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 else: 

+

176 if message: 176 ↛ 179line 176 didn't jump to line 179, because the condition on line 176 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 message(f"Skipping duplicate data {rel_file_name}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 

+

179 if delete_this_one: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 if data._debug.should('dataio'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 data._debug.write(f"Deleting data file {f!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 file_be_gone(f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 

+

184 if strict and not combined_any: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 raise NoDataError("No usable data files") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 

+

187 

+

188def debug_data_file(filename: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 """Implementation of 'coverage debug data'.""" 

+

190 data = CoverageData(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 filename = data.data_filename() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 print(f"path: {filename}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 if not os.path.exists(filename): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 print("No data collected: file doesn't exist") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 print(f"has_arcs: {data.has_arcs()!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 summary = line_counts(data, fullpath=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 filenames = human_sorted(summary.keys()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 nfiles = len(filenames) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 print(f"{nfiles} file{plural(nfiles)}:") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 for f in filenames: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 line = f"{f}: {summary[f]} line{plural(summary[f])}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 plugin = data.file_tracer(f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 if plugin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 line += f" [{plugin}]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 print(line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 

+

209 

+

210def sorted_lines(data: CoverageData, filename: str) -> List[int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 """Get the sorted lines for a file, for tests.""" 

+

212 lines = data.lines(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 return sorted(lines or []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_debug_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_debug_py.html new file mode 100644 index 000000000..33524a665 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_debug_py.html @@ -0,0 +1,590 @@ + + + + + Coverage for coverage/debug.py: 96.444% + + + + + +
+
+

+ Coverage for coverage/debug.py: + 96.444% +

+ +

+ 173 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Control of and utilities for debugging.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import contextlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import functools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import inspect 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import io 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import itertools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import pprint 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import reprlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17import types 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18import _thread 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 Any, Callable, IO, Iterable, Iterator, Optional, List, Tuple, cast, 

+

22) 

+

23 

+

24from coverage.misc import isolate_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.types import TWritable 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 

+

27os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 

+

30# When debugging, it can be helpful to force some options, especially when 

+

31# debugging the configuration mechanisms you usually use to control debugging! 

+

32# This is a list of forced debugging options. 

+

33FORCED_DEBUG: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34FORCED_DEBUG_FILE = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 

+

36 

+

37class DebugControl: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 """Control and output for debugging.""" 

+

39 

+

40 show_repr_attr = False # For AutoReprMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 

+

42 def __init__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

43 self, 

+

44 options: Iterable[str], 

+

45 output: Optional[IO[str]], 

+

46 file_name: Optional[str] = None, 

+

47 ) -> None: 

+

48 """Configure the options and output file for debugging.""" 

+

49 self.options = list(options) + FORCED_DEBUG 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 self.suppress_callers = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52 filters = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 if self.should('pid'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 filters.append(add_pid_and_tid) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 self.output = DebugOutputFile.get_one( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 output, 

+

57 file_name=file_name, 

+

58 show_process=self.should('process'), 

+

59 filters=filters, 

+

60 ) 

+

61 self.raw_output = self.output.outfile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 

+

63 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 return f"<DebugControl options={self.options!r} raw_output={self.raw_output!r}>" 

+

65 

+

66 def should(self, option: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 """Decide whether to output debug information in category `option`.""" 

+

68 if option == "callers" and self.suppress_callers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 return (option in self.options) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 

+

72 @contextlib.contextmanager 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 def without_callers(self) -> Iterator[None]: 

+

74 """A context manager to prevent call stacks from being logged.""" 

+

75 old = self.suppress_callers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 self.suppress_callers = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 finally: 

+

80 self.suppress_callers = old 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 

+

82 def write(self, msg: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 """Write a line of debug output. 

+

84 

+

85 `msg` is the line to write. A newline will be appended. 

+

86 

+

87 """ 

+

88 self.output.write(msg+"\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 if self.should('self'): 89 ↛ 90line 89 didn't jump to line 90, because the condition on line 89 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 caller_self = inspect.stack()[1][0].f_locals.get('self') 

+

91 if caller_self is not None: 

+

92 self.output.write(f"self: {caller_self!r}\n") 

+

93 if self.should('callers'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 dump_stack_frames(out=self.output, skip=1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 self.output.flush() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 

+

97 

+

98class DebugControlString(DebugControl): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 """A `DebugControl` that writes to a StringIO, for testing.""" 

+

100 def __init__(self, options: Iterable[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 super().__init__(options, io.StringIO()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 

+

103 def get_output(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 """Get the output text from the `DebugControl`.""" 

+

105 return cast(str, self.raw_output.getvalue()) # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 

+

107 

+

108class NoDebugging(DebugControl): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 """A replacement for DebugControl that will never try to do anything.""" 

+

110 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 # pylint: disable=super-init-not-called 

+

112 ... 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 

+

114 def should(self, option: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 """Should we write debug messages? Never.""" 

+

116 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 

+

118 def write(self, msg: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 """This will never be called.""" 

+

120 raise AssertionError("NoDebugging.write should never be called.") 

+

121 

+

122 

+

123def info_header(label: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 """Make a nice header string.""" 

+

125 return "--{:-<60s}".format(" "+label+" ") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 

+

127 

+

128def info_formatter(info: Iterable[Tuple[str, Any]]) -> Iterator[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 """Produce a sequence of formatted lines from info. 

+

130 

+

131 `info` is a sequence of pairs (label, data). The produced lines are 

+

132 nicely formatted, ready to print. 

+

133 

+

134 """ 

+

135 info = list(info) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 if not info: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 label_len = 30 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 assert all(len(l) < label_len for l, _ in info) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 for label, data in info: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 if data == []: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 data = "-none-" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 if isinstance(data, tuple) and len(repr(tuple(data))) < 30: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 # Convert to tuple to scrub namedtuples. 

+

145 yield "%*s: %r" % (label_len, label, tuple(data)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 elif isinstance(data, (list, set, tuple)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 prefix = "%*s:" % (label_len, label) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 for e in data: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 yield "%*s %s" % (label_len+1, prefix, e) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 prefix = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 else: 

+

152 yield "%*s: %s" % (label_len, label, data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 

+

154 

+

155def write_formatted_info( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 write: Callable[[str], None], 

+

157 header: str, 

+

158 info: Iterable[Tuple[str, Any]], 

+

159) -> None: 

+

160 """Write a sequence of (label,data) pairs nicely. 

+

161 

+

162 `write` is a function write(str) that accepts each line of output. 

+

163 `header` is a string to start the section. `info` is a sequence of 

+

164 (label, data) pairs, where label is a str, and data can be a single 

+

165 value, or a list/set/tuple. 

+

166 

+

167 """ 

+

168 write(info_header(header)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 for line in info_formatter(info): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 write(f" {line}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 

+

172 

+

173def short_stack(limit: Optional[int] = None, skip: int = 0) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 """Return a string summarizing the call stack. 

+

175 

+

176 The string is multi-line, with one line per stack frame. Each line shows 

+

177 the function name, the file name, and the line number: 

+

178 

+

179 ... 

+

180 start_import_stop : /Users/ned/coverage/trunk/tests/coveragetest.py @95 

+

181 import_local_file : /Users/ned/coverage/trunk/tests/coveragetest.py @81 

+

182 import_local_file : /Users/ned/coverage/trunk/coverage/backward.py @159 

+

183 ... 

+

184 

+

185 `limit` is the number of frames to include, defaulting to all of them. 

+

186 

+

187 `skip` is the number of frames to skip, so that debugging functions can 

+

188 call this and not be included in the result. 

+

189 

+

190 """ 

+

191 stack = inspect.stack()[limit:skip:-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 return "\n".join("%30s : %s:%d" % (t[3], t[1], t[2]) for t in stack) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 

+

195def dump_stack_frames( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

196 limit: Optional[int] = None, 

+

197 out: Optional[TWritable] = None, 

+

198 skip: int = 0 

+

199) -> None: 

+

200 """Print a summary of the stack to stdout, or someplace else.""" 

+

201 fout = out or sys.stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 fout.write(short_stack(limit=limit, skip=skip+1)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 fout.write("\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 

+

205 

+

206def clipped_repr(text: str, numchars: int = 50) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 """`repr(text)`, but limited to `numchars`.""" 

+

208 r = reprlib.Repr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 r.maxstring = numchars 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 return r.repr(text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 

+

212 

+

213def short_id(id64: int) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 """Given a 64-bit id, make a shorter 16-bit one.""" 

+

215 id16 = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 for offset in range(0, 64, 16): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 id16 ^= id64 >> offset 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 return id16 & 0xFFFF 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 

+

220 

+

221def add_pid_and_tid(text: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 """A filter to add pid and tid to debug messages.""" 

+

223 # Thread ids are useful, but too long. Make a shorter one. 

+

224 tid = f"{short_id(_thread.get_ident()):04x}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 text = f"{os.getpid():5d}.{tid}: {text}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 return text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 

+

228 

+

229class AutoReprMixin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 """A mixin implementing an automatic __repr__ for debugging.""" 

+

231 auto_repr_ignore = ['auto_repr_ignore', '$coverage.object_id'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 

+

233 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 show_attrs = ( 

+

235 (k, v) for k, v in self.__dict__.items() 

+

236 if getattr(v, "show_repr_attr", True) 

+

237 and not callable(v) 

+

238 and k not in self.auto_repr_ignore 

+

239 ) 

+

240 return "<{klass} @0x{id:x} {attrs}>".format( 

+

241 klass=self.__class__.__name__, 

+

242 id=id(self), 

+

243 attrs=" ".join(f"{k}={v!r}" for k, v in show_attrs), 

+

244 ) 

+

245 

+

246 

+

247def simplify(v: Any) -> Any: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 """Turn things which are nearly dict/list/etc into dict/list/etc.""" 

+

249 if isinstance(v, dict): 

+

250 return {k:simplify(vv) for k, vv in v.items()} 

+

251 elif isinstance(v, (list, tuple)): 

+

252 return type(v)(simplify(vv) for vv in v) 

+

253 elif hasattr(v, "__dict__"): 

+

254 return simplify({'.'+k: v for k, v in v.__dict__.items()}) 

+

255 else: 

+

256 return v 

+

257 

+

258 

+

259def pp(v: Any) -> None: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 """Debug helper to pretty-print data, including SimpleNamespace objects.""" 

+

261 # Might not be needed in 3.9+ 

+

262 pprint.pprint(simplify(v)) 

+

263 

+

264 

+

265def filter_text(text: str, filters: Iterable[Callable[[str], str]]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 """Run `text` through a series of filters. 

+

267 

+

268 `filters` is a list of functions. Each takes a string and returns a 

+

269 string. Each is run in turn. 

+

270 

+

271 Returns: the final string that results after all of the filters have 

+

272 run. 

+

273 

+

274 """ 

+

275 clean_text = text.rstrip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 ending = text[len(clean_text):] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 text = clean_text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 for fn in filters: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 lines = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 for line in text.splitlines(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 lines.extend(fn(line).splitlines()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 text = "\n".join(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 return text + ending 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 

+

285 

+

286class CwdTracker: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 """A class to add cwd info to debug messages.""" 

+

288 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 self.cwd: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 

+

291 def filter(self, text: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 """Add a cwd message for each new cwd.""" 

+

293 cwd = os.getcwd() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 if cwd != self.cwd: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 text = f"cwd is now {cwd!r}\n" + text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 self.cwd = cwd 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 return text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 

+

299 

+

300class DebugOutputFile: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 """A file-like object that includes pid and cwd information.""" 

+

302 def __init__( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 self, 

+

304 outfile: Optional[IO[str]], 

+

305 show_process: bool, 

+

306 filters: Iterable[Callable[[str], str]], 

+

307 ): 

+

308 self.outfile = outfile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 self.show_process = show_process 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 self.filters = list(filters) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 

+

312 if self.show_process: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 self.filters.insert(0, CwdTracker().filter) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 self.write(f"New process: executable: {sys.executable!r}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 self.write("New process: cmd: {!r}\n".format(getattr(sys, 'argv', None))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 if hasattr(os, 'getppid'): 316 ↛ exitline 316 didn't return from function '__init__', because the condition on line 316 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 self.write(f"New process: pid: {os.getpid()!r}, parent pid: {os.getppid()!r}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 

+

319 @classmethod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 def get_one( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

321 cls, 

+

322 fileobj: Optional[IO[str]] = None, 

+

323 file_name: Optional[str] = None, 

+

324 show_process: bool = True, 

+

325 filters: Iterable[Callable[[str], str]] = (), 

+

326 interim: bool = False, 

+

327 ) -> DebugOutputFile: 

+

328 """Get a DebugOutputFile. 

+

329 

+

330 If `fileobj` is provided, then a new DebugOutputFile is made with it. 

+

331 

+

332 If `fileobj` isn't provided, then a file is chosen (`file_name` if 

+

333 provided, or COVERAGE_DEBUG_FILE, or stderr), and a process-wide 

+

334 singleton DebugOutputFile is made. 

+

335 

+

336 `show_process` controls whether the debug file adds process-level 

+

337 information, and filters is a list of other message filters to apply. 

+

338 

+

339 `filters` are the text filters to apply to the stream to annotate with 

+

340 pids, etc. 

+

341 

+

342 If `interim` is true, then a future `get_one` can replace this one. 

+

343 

+

344 """ 

+

345 if fileobj is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 # Make DebugOutputFile around the fileobj passed. 

+

347 return cls(fileobj, show_process, filters) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 

+

349 the_one, is_interim = cls._get_singleton_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 if the_one is None or is_interim: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 if file_name is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 fileobj = open(file_name, "a", encoding="utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 else: 

+

354 file_name = os.environ.get("COVERAGE_DEBUG_FILE", FORCED_DEBUG_FILE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 if file_name in ("stdout", "stderr"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 fileobj = getattr(sys, file_name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 elif file_name: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 fileobj = open(file_name, "a", encoding="utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 else: 

+

360 fileobj = sys.stderr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 the_one = cls(fileobj, show_process, filters) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 cls._set_singleton_data(the_one, interim) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 return the_one 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 

+

365 # Because of the way igor.py deletes and re-imports modules, 

+

366 # this class can be defined more than once. But we really want 

+

367 # a process-wide singleton. So stash it in sys.modules instead of 

+

368 # on a class attribute. Yes, this is aggressively gross. 

+

369 

+

370 SYS_MOD_NAME = '$coverage.debug.DebugOutputFile.the_one' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 SINGLETON_ATTR = 'the_one_and_is_interim' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 

+

373 @classmethod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 def _set_singleton_data(cls, the_one: DebugOutputFile, interim: bool) -> None: 

+

375 """Set the one DebugOutputFile to rule them all.""" 

+

376 singleton_module = types.ModuleType(cls.SYS_MOD_NAME) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 setattr(singleton_module, cls.SINGLETON_ATTR, (the_one, interim)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 sys.modules[cls.SYS_MOD_NAME] = singleton_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

379 

+

380 @classmethod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 def _get_singleton_data(cls) -> Tuple[Optional[DebugOutputFile], bool]: 

+

382 """Get the one DebugOutputFile.""" 

+

383 singleton_module = sys.modules.get(cls.SYS_MOD_NAME) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 return getattr(singleton_module, cls.SINGLETON_ATTR, (None, True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

385 

+

386 @classmethod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 def _del_singleton_data(cls) -> None: 

+

388 """Delete the one DebugOutputFile, just for tests to use.""" 

+

389 if cls.SYS_MOD_NAME in sys.modules: 389 ↛ exitline 389 didn't return from function '_del_singleton_data', because the condition on line 389 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 del sys.modules[cls.SYS_MOD_NAME] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 

+

392 def write(self, text: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 """Just like file.write, but filter through all our filters.""" 

+

394 assert self.outfile is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

395 self.outfile.write(filter_text(text, self.filters)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 self.outfile.flush() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 

+

398 def flush(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

399 """Flush our file.""" 

+

400 assert self.outfile is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 self.outfile.flush() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 

+

403 

+

404def log(msg: str, stack: bool = False) -> None: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 """Write a log message as forcefully as possible.""" 

+

406 out = DebugOutputFile.get_one(interim=True) 

+

407 out.write(msg+"\n") 

+

408 if stack: 

+

409 dump_stack_frames(out=out, skip=1) 

+

410 

+

411 

+

412def decorate_methods( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

413 decorator: Callable[..., Any], 

+

414 butnot: Iterable[str] = (), 

+

415 private: bool = False, 

+

416) -> Callable[..., Any]: # pragma: debugging 

+

417 """A class decorator to apply a decorator to methods.""" 

+

418 def _decorator(cls): # type: ignore 

+

419 for name, meth in inspect.getmembers(cls, inspect.isroutine): 

+

420 if name not in cls.__dict__: 

+

421 continue 

+

422 if name != "__init__": 

+

423 if not private and name.startswith("_"): 

+

424 continue 

+

425 if name in butnot: 

+

426 continue 

+

427 setattr(cls, name, decorator(meth)) 

+

428 return cls 

+

429 return _decorator 

+

430 

+

431 

+

432def break_in_pudb(func: Callable[..., Any]) -> Callable[..., Any]: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 """A function decorator to stop in the debugger for each call.""" 

+

434 @functools.wraps(func) 

+

435 def _wrapper(*args: Any, **kwargs: Any) -> Any: 

+

436 import pudb 

+

437 sys.stdout = sys.__stdout__ 

+

438 pudb.set_trace() 

+

439 return func(*args, **kwargs) 

+

440 return _wrapper 

+

441 

+

442 

+

443OBJ_IDS = itertools.count() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444CALLS = itertools.count() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445OBJ_ID_ATTR = "$coverage.object_id" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 

+

447def show_calls( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

448 show_args: bool = True, 

+

449 show_stack: bool = False, 

+

450 show_return: bool = False, 

+

451) -> Callable[..., Any]: # pragma: debugging 

+

452 """A method decorator to debug-log each call to the function.""" 

+

453 def _decorator(func: Callable[..., Any]) -> Callable[..., Any]: 

+

454 @functools.wraps(func) 

+

455 def _wrapper(self: Any, *args: Any, **kwargs: Any) -> Any: 

+

456 oid = getattr(self, OBJ_ID_ATTR, None) 

+

457 if oid is None: 

+

458 oid = f"{os.getpid():08d} {next(OBJ_IDS):04d}" 

+

459 setattr(self, OBJ_ID_ATTR, oid) 

+

460 extra = "" 

+

461 if show_args: 

+

462 eargs = ", ".join(map(repr, args)) 

+

463 ekwargs = ", ".join("{}={!r}".format(*item) for item in kwargs.items()) 

+

464 extra += "(" 

+

465 extra += eargs 

+

466 if eargs and ekwargs: 

+

467 extra += ", " 

+

468 extra += ekwargs 

+

469 extra += ")" 

+

470 if show_stack: 

+

471 extra += " @ " 

+

472 extra += "; ".join(_clean_stack_line(l) for l in short_stack().splitlines()) 

+

473 callid = next(CALLS) 

+

474 msg = f"{oid} {callid:04d} {func.__name__}{extra}\n" 

+

475 DebugOutputFile.get_one(interim=True).write(msg) 

+

476 ret = func(self, *args, **kwargs) 

+

477 if show_return: 

+

478 msg = f"{oid} {callid:04d} {func.__name__} return {ret!r}\n" 

+

479 DebugOutputFile.get_one(interim=True).write(msg) 

+

480 return ret 

+

481 return _wrapper 

+

482 return _decorator 

+

483 

+

484 

+

485def _clean_stack_line(s: str) -> str: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 """Simplify some paths in a stack trace, for compactness.""" 

+

487 s = s.strip() 

+

488 s = s.replace(os.path.dirname(__file__) + '/', '') 

+

489 s = s.replace(os.path.dirname(os.__file__) + '/', '') 

+

490 s = s.replace(sys.prefix + '/', '') 

+

491 return s 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_disposition_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_disposition_py.html new file mode 100644 index 000000000..a226cc18c --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_disposition_py.html @@ -0,0 +1,157 @@ + + + + + Coverage for coverage/disposition.py: 62.162% + + + + + +
+
+

+ Coverage for coverage/disposition.py: + 62.162% +

+ +

+ 31 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Simple value objects for tracking what to do with files.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8from typing import Optional, Type, TYPE_CHECKING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from coverage.types import TFileDisposition 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 from coverage.plugin import FileTracer 

+

14 

+

15 

+

16class FileDisposition: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 """A simple value type for recording what to do with a file.""" 

+

18 

+

19 original_filename: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 canonical_filename: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 source_filename: Optional[str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 trace: bool 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 reason: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 file_tracer: Optional[FileTracer] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 has_dynamic_filename: bool 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 

+

27 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 return f"<FileDisposition {self.canonical_filename!r}: trace={self.trace}>" 

+

29 

+

30 

+

31# FileDisposition "methods": FileDisposition is a pure value object, so it can 

+

32# be implemented in either C or Python. Acting on them is done with these 

+

33# functions. 

+

34 

+

35def disposition_init(cls: Type[TFileDisposition], original_filename: str) -> TFileDisposition: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 """Construct and initialize a new FileDisposition object.""" 

+

37 disp = cls() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 disp.original_filename = original_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 disp.canonical_filename = original_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 disp.source_filename = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 disp.trace = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 disp.reason = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 disp.file_tracer = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 disp.has_dynamic_filename = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 return disp 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 

+

47 

+

48def disposition_debug_msg(disp: TFileDisposition) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 """Make a nice debug message of what the FileDisposition is doing.""" 

+

50 if disp.trace: 

+

51 msg = f"Tracing {disp.original_filename!r}" 

+

52 if disp.original_filename != disp.source_filename: 

+

53 msg += f" as {disp.source_filename!r}" 

+

54 if disp.file_tracer: 

+

55 msg += f": will be traced by {disp.file_tracer!r}" 

+

56 else: 

+

57 msg = f"Not tracing {disp.original_filename!r}: {disp.reason}" 

+

58 return msg 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_env_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_env_py.html new file mode 100644 index 000000000..0fb975044 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_env_py.html @@ -0,0 +1,257 @@ + + + + + Coverage for coverage/env.py: 97.403% + + + + + +
+
+

+ Coverage for coverage/env.py: + 97.403% +

+ +

+ 57 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Determine facts about the environment.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import platform 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from typing import Any, Iterable, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14# debug_info() at the bottom wants to show all the globals, but not imports. 

+

15# Grab the global names here to know which names to not show. Nothing defined 

+

16# above this line will be in the output. 

+

17_UNINTERESTING_GLOBALS = list(globals()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18# These names also shouldn't be shown. 

+

19_UNINTERESTING_GLOBALS += ["PYBEHAVIOR", "debug_info"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21# Operating systems. 

+

22WINDOWS = sys.platform == "win32" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23LINUX = sys.platform.startswith("linux") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24OSX = sys.platform == "darwin" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26# Python implementations. 

+

27CPYTHON = (platform.python_implementation() == "CPython") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28PYPY = (platform.python_implementation() == "PyPy") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 

+

30# Python versions. We amend version_info with one more value, a zero if an 

+

31# official version, or 1 if built from source beyond an official version. 

+

32PYVERSION = sys.version_info + (int(platform.python_version()[-1] == "+"),) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 

+

34if PYPY: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 PYPYVERSION = sys.pypy_version_info # type: ignore[attr-defined] pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37# Python behavior. 

+

38class PYBEHAVIOR: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 """Flags indicating this Python's behavior.""" 

+

40 

+

41 # Does Python conform to PEP626, Precise line numbers for debugging and other tools. 

+

42 # https://www.python.org/dev/peps/pep-0626 

+

43 pep626 = CPYTHON and (PYVERSION > (3, 10, 0, 'alpha', 4)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 

+

45 # Is "if __debug__" optimized away? 

+

46 if PYPY: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 optimize_if_debug = True pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 else: 

+

49 optimize_if_debug = not pep626 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

50 

+

51 # Is "if not __debug__" optimized away? The exact details have changed 

+

52 # across versions. 

+

53 if pep626: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 optimize_if_not_debug = 1 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

55 elif PYPY: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 if PYVERSION >= (3, 9): pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 optimize_if_not_debug = 2 pypy-3.9.ubuntu-latest.py

+

58 elif PYVERSION[:2] == (3, 8): pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.py

+

59 optimize_if_not_debug = 3 pypy-3.8.ubuntu-latest.py

+

60 else: 

+

61 optimize_if_not_debug = 1 pypy-3.7.ubuntu-latest.py

+

62 else: 

+

63 if PYVERSION >= (3, 8, 0, 'beta', 1): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py

+

64 optimize_if_not_debug = 2 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py

+

65 else: 

+

66 optimize_if_not_debug = 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py

+

67 

+

68 # Can co_lnotab have negative deltas? 

+

69 negative_lnotab = not (PYPY and PYPYVERSION < (7, 2)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 

+

71 # 3.7 changed how functions with only docstrings are numbered. 

+

72 docstring_only_function = (not PYPY) and ((3, 7, 0, 'beta', 5) <= PYVERSION <= (3, 10)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 

+

74 # When a break/continue/return statement in a try block jumps to a finally 

+

75 # block, does the finally block do the break/continue/return (pre-3.8), or 

+

76 # does the finally jump back to the break/continue/return (3.8) to do the 

+

77 # work? 

+

78 finally_jumps_back = ((3, 8) <= PYVERSION < (3, 10)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 if PYPY and PYPYVERSION < (7, 3, 7): 79 ↛ 80line 79 didn't jump to line 80, because the condition on line 79 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 finally_jumps_back = False 

+

81 

+

82 # When a function is decorated, does the trace function get called for the 

+

83 # @-line and also the def-line (new behavior in 3.8)? Or just the @-line 

+

84 # (old behavior)? 

+

85 trace_decorated_def = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 (PYVERSION >= (3, 8)) and 

+

87 (CPYTHON or (PYVERSION > (3, 8)) or (PYPYVERSION > (7, 3, 9))) 

+

88 ) 

+

89 

+

90 # Functions are no longer claimed to start at their earliest decorator even though 

+

91 # the decorators are traced? 

+

92 def_ast_no_decorator = (PYPY and PYVERSION >= (3, 9)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 

+

94 # CPython 3.11 now jumps to the decorator line again while executing 

+

95 # the decorator. 

+

96 trace_decorator_line_again = (CPYTHON and PYVERSION > (3, 11, 0, 'alpha', 3, 0)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 # Are while-true loops optimized into absolute jumps with no loop setup? 

+

99 nix_while_true = (PYVERSION >= (3, 8)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 

+

101 # CPython 3.9a1 made sys.argv[0] and other reported files absolute paths. 

+

102 report_absolute_files = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 (CPYTHON or (PYPY and PYPYVERSION >= (7, 3, 10))) 

+

104 and PYVERSION >= (3, 9) 

+

105 ) 

+

106 

+

107 # Lines after break/continue/return/raise are no longer compiled into the 

+

108 # bytecode. They used to be marked as missing, now they aren't executable. 

+

109 omit_after_jump = pep626 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 

+

111 # PyPy has always omitted statements after return. 

+

112 omit_after_return = omit_after_jump or PYPY 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 

+

114 # Modules used to have firstlineno equal to the line number of the first 

+

115 # real line of code. Now they always start at 1. 

+

116 module_firstline_1 = pep626 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 

+

118 # Are "if 0:" lines (and similar) kept in the compiled code? 

+

119 keep_constant_test = pep626 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 

+

121 # When leaving a with-block, do we visit the with-line again for the exit? 

+

122 exit_through_with = (PYVERSION >= (3, 10, 0, 'beta')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 

+

124 # Match-case construct. 

+

125 match_case = (PYVERSION >= (3, 10)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 

+

127 # Some words are keywords in some places, identifiers in other places. 

+

128 soft_keywords = (PYVERSION >= (3, 10)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 

+

130 # Modules start with a line numbered zero. This means empty modules have 

+

131 # only a 0-number line, which is ignored, giving a truly empty module. 

+

132 empty_is_empty = (PYVERSION >= (3, 11, 0, 'beta', 4)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 

+

134# Coverage.py specifics. 

+

135 

+

136# Are we using the C-implemented trace function? 

+

137C_TRACER = os.getenv('COVERAGE_TEST_TRACER', 'c') == 'c' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 

+

139# Are we coverage-measuring ourselves? 

+

140METACOV = os.getenv('COVERAGE_COVERAGE', '') != '' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 

+

142# Are we running our test suite? 

+

143# Even when running tests, you can use COVERAGE_TESTING=0 to disable the 

+

144# test-specific behavior like AST checking. 

+

145TESTING = os.getenv('COVERAGE_TESTING', '') == 'True' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 

+

147 

+

148def debug_info() -> Iterable[Tuple[str, Any]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 """Return a list of (name, value) pairs for printing debug information.""" 

+

150 info = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 (name, value) for name, value in globals().items() 

+

152 if not name.startswith("_") and name not in _UNINTERESTING_GLOBALS 

+

153 ] 

+

154 info += [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 (name, value) for name, value in PYBEHAVIOR.__dict__.items() 

+

156 if not name.startswith("_") 

+

157 ] 

+

158 return sorted(info) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_exceptions_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_exceptions_py.html new file mode 100644 index 000000000..01c8dd5f2 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_exceptions_py.html @@ -0,0 +1,161 @@ + + + + + Coverage for coverage/exceptions.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/exceptions.py: + 100.000% +

+ +

+ 23 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Exceptions coverage.py can raise.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6 

+

7class _BaseCoverageException(Exception): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

8 """The base-base of all Coverage exceptions.""" 

+

9 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11 

+

12class CoverageException(_BaseCoverageException): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 """The base class of all exceptions raised by Coverage.py.""" 

+

14 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16 

+

17class ConfigError(_BaseCoverageException): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 """A problem with a config file, or a value in one.""" 

+

19 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21 

+

22class DataError(CoverageException): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 """An error in using a data file.""" 

+

24 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26class NoDataError(CoverageException): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 """We didn't have data to work with.""" 

+

28 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 

+

30 

+

31class NoSource(CoverageException): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 """We couldn't find the source for a module.""" 

+

33 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 

+

36class NoCode(NoSource): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 """We couldn't find any code at all.""" 

+

38 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 

+

40 

+

41class NotPython(CoverageException): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 """A source file turned out not to be parsable Python.""" 

+

43 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 

+

45 

+

46class PluginError(CoverageException): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 """A plugin misbehaved.""" 

+

48 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 

+

51class _ExceptionDuringRun(CoverageException): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 """An exception happened while running customer code. 

+

53 

+

54 Construct it with three arguments, the values from `sys.exc_info`. 

+

55 

+

56 """ 

+

57 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 

+

59 

+

60class CoverageWarning(Warning): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 """A warning from Coverage.py.""" 

+

62 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_execfile_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_execfile_py.html new file mode 100644 index 000000000..d065b77b9 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_execfile_py.html @@ -0,0 +1,426 @@ + + + + + Coverage for coverage/execfile.py: 98.690% + + + + + +
+
+

+ Coverage for coverage/execfile.py: + 98.690% +

+ +

+ 181 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Execute files of Python code.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import importlib.machinery 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import importlib.util 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import inspect 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import marshal 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import struct 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from importlib.machinery import ModuleSpec 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from types import CodeType, ModuleType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from typing import Any, List, Optional, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.exceptions import CoverageException, _ExceptionDuringRun, NoCode, NoSource 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.files import canonical_filename, python_reported_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.misc import isolate_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.python import get_python_source 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28 

+

29PYC_MAGIC_NUMBER = importlib.util.MAGIC_NUMBER 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 

+

31class DummyLoader: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 """A shim for the pep302 __loader__, emulating pkgutil.ImpLoader. 

+

33 

+

34 Currently only implements the .fullname attribute 

+

35 """ 

+

36 def __init__(self, fullname: str, *_args: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 self.fullname = fullname 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 

+

39 

+

40def find_module( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 modulename: str, 

+

42) -> Tuple[Optional[str], str, ModuleSpec]: 

+

43 """Find the module named `modulename`. 

+

44 

+

45 Returns the file path of the module, the name of the enclosing 

+

46 package, and the spec. 

+

47 """ 

+

48 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 spec = importlib.util.find_spec(modulename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 except ImportError as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 raise NoSource(str(err)) from err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 if not spec: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 raise NoSource(f"No module named {modulename!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 pathname = spec.origin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 packagename = spec.name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 if spec.submodule_search_locations: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 mod_main = modulename + ".__main__" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 spec = importlib.util.find_spec(mod_main) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 if not spec: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 raise NoSource( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 f"No module named {mod_main}; " + 

+

62 f"{modulename!r} is a package and cannot be directly executed" 

+

63 ) 

+

64 pathname = spec.origin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 packagename = spec.name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 packagename = packagename.rpartition(".")[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 return pathname, packagename, spec 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 

+

69 

+

70class PyRunner: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 """Multi-stage execution of Python code. 

+

72 

+

73 This is meant to emulate real Python execution as closely as possible. 

+

74 

+

75 """ 

+

76 def __init__(self, args: List[str], as_module: bool = False) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 self.args = args 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 self.as_module = as_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 

+

80 self.arg0 = args[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 self.package: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 self.modulename: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 self.pathname: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 self.loader: Optional[DummyLoader] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 self.spec: Optional[ModuleSpec] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 def prepare(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 """Set sys.path properly. 

+

89 

+

90 This needs to happen before any importing, and without importing anything. 

+

91 """ 

+

92 path0: Optional[str] 

+

93 if self.as_module: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 path0 = os.getcwd() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 elif os.path.isdir(self.arg0): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 # Running a directory means running the __main__.py file in that 

+

97 # directory. 

+

98 path0 = self.arg0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 else: 

+

100 path0 = os.path.abspath(os.path.dirname(self.arg0)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 

+

102 if os.path.isdir(sys.path[0]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 # sys.path fakery. If we are being run as a command, then sys.path[0] 

+

104 # is the directory of the "coverage" script. If this is so, replace 

+

105 # sys.path[0] with the directory of the file we're running, or the 

+

106 # current directory when running modules. If it isn't so, then we 

+

107 # don't know what's going on, and just leave it alone. 

+

108 top_file = inspect.stack()[-1][0].f_code.co_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 sys_path_0_abs = os.path.abspath(sys.path[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 top_file_dir_abs = os.path.abspath(os.path.dirname(top_file)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 sys_path_0_abs = canonical_filename(sys_path_0_abs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 top_file_dir_abs = canonical_filename(top_file_dir_abs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 if sys_path_0_abs != top_file_dir_abs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 path0 = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 

+

116 else: 

+

117 # sys.path[0] is a file. Is the next entry the directory containing 

+

118 # that file? 

+

119 if sys.path[1] == os.path.dirname(sys.path[0]): 119 ↛ 121line 119 didn't jump to line 121, because the condition on line 119 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 # Can it be right to always remove that? 

+

121 del sys.path[1] 

+

122 

+

123 if path0 is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 sys.path[0] = python_reported_file(path0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 

+

126 def _prepare2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 """Do more preparation to run Python code. 

+

128 

+

129 Includes finding the module to run and adjusting sys.argv[0]. 

+

130 This method is allowed to import code. 

+

131 

+

132 """ 

+

133 if self.as_module: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 self.modulename = self.arg0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 pathname, self.package, self.spec = find_module(self.modulename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 if self.spec is not None: 136 ↛ 138line 136 didn't jump to line 138, because the condition on line 136 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 self.modulename = self.spec.name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 self.loader = DummyLoader(self.modulename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 assert pathname is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 self.pathname = os.path.abspath(pathname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 self.args[0] = self.arg0 = self.pathname 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 elif os.path.isdir(self.arg0): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 # Running a directory means running the __main__.py file in that 

+

144 # directory. 

+

145 for ext in [".py", ".pyc", ".pyo"]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 try_filename = os.path.join(self.arg0, "__main__" + ext) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 # 3.8.10 changed how files are reported when running a 

+

148 # directory. But I'm not sure how far this change is going to 

+

149 # spread, so I'll just hard-code it here for now. 

+

150 if env.PYVERSION >= (3, 8, 10): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 try_filename = os.path.abspath(try_filename) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 if os.path.exists(try_filename): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 self.arg0 = try_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 else: 

+

156 raise NoSource(f"Can't find '__main__' module in '{self.arg0}'") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 

+

158 # Make a spec. I don't know if this is the right way to do it. 

+

159 try_filename = python_reported_file(try_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 self.spec = importlib.machinery.ModuleSpec("__main__", None, origin=try_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 self.spec.has_location = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 self.package = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 self.loader = DummyLoader("__main__") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 else: 

+

165 self.loader = DummyLoader("__main__") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 

+

167 self.arg0 = python_reported_file(self.arg0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 

+

169 def run(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 """Run the Python code!""" 

+

171 

+

172 self._prepare2() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 

+

174 # Create a module to serve as __main__ 

+

175 main_mod = ModuleType('__main__') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 

+

177 from_pyc = self.arg0.endswith((".pyc", ".pyo")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 main_mod.__file__ = self.arg0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 if from_pyc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 main_mod.__file__ = main_mod.__file__[:-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 if self.package is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 main_mod.__package__ = self.package 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 main_mod.__loader__ = self.loader # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 if self.spec is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 main_mod.__spec__ = self.spec 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 

+

187 main_mod.__builtins__ = sys.modules['builtins'] # type: ignore[attr-defined] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 

+

189 sys.modules['__main__'] = main_mod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 

+

191 # Set sys.argv properly. 

+

192 sys.argv = self.args 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 # Make a code object somehow. 

+

196 if from_pyc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 code = make_code_from_pyc(self.arg0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 else: 

+

199 code = make_code_from_py(self.arg0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 except CoverageException: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 except Exception as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 msg = f"Couldn't run '{self.arg0}' as Python code: {exc.__class__.__name__}: {exc}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 raise CoverageException(msg) from exc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 

+

206 # Execute the code object. 

+

207 # Return to the original directory in case the test code exits in 

+

208 # a non-existent directory. 

+

209 cwd = os.getcwd() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 exec(code, main_mod.__dict__) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 except SystemExit: # pylint: disable=try-except-raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 # The user called sys.exit(). Just pass it along to the upper 

+

214 # layers, where it will be handled. 

+

215 raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 except Exception: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 # Something went wrong while executing the user code. 

+

218 # Get the exc_info, and pack them into an exception that we can 

+

219 # throw up to the outer loop. We peel one layer off the traceback 

+

220 # so that the coverage.py code doesn't appear in the final printed 

+

221 # traceback. 

+

222 typ, err, tb = sys.exc_info() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 assert typ is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 assert err is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 assert tb is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 

+

227 # PyPy3 weirdness. If I don't access __context__, then somehow it 

+

228 # is non-None when the exception is reported at the upper layer, 

+

229 # and a nested exception is shown to the user. This getattr fixes 

+

230 # it somehow? https://bitbucket.org/pypy/pypy/issue/1903 

+

231 getattr(err, '__context__', None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 

+

233 # Call the excepthook. 

+

234 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 assert err.__traceback__ is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 err.__traceback__ = err.__traceback__.tb_next 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 sys.excepthook(typ, err, tb.tb_next) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 except SystemExit: # pylint: disable=try-except-raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 except Exception as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 # Getting the output right in the case of excepthook 

+

242 # shenanigans is kind of involved. 

+

243 sys.stderr.write("Error in sys.excepthook:\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 typ2, err2, tb2 = sys.exc_info() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 assert typ2 is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 assert err2 is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 assert tb2 is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 err2.__suppress_context__ = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 assert err2.__traceback__ is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 err2.__traceback__ = err2.__traceback__.tb_next 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 sys.__excepthook__(typ2, err2, tb2.tb_next) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 sys.stderr.write("\nOriginal exception was:\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 raise _ExceptionDuringRun(typ, err, tb.tb_next) from exc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 else: 

+

255 sys.exit(1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 finally: 

+

257 os.chdir(cwd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 

+

259 

+

260def run_python_module(args: List[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 """Run a Python module, as though with ``python -m name args...``. 

+

262 

+

263 `args` is the argument array to present as sys.argv, including the first 

+

264 element naming the module being executed. 

+

265 

+

266 This is a helper for tests, to encapsulate how to use PyRunner. 

+

267 

+

268 """ 

+

269 runner = PyRunner(args, as_module=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 runner.prepare() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 runner.run() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 

+

273 

+

274def run_python_file(args: List[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 """Run a Python file as if it were the main program on the command line. 

+

276 

+

277 `args` is the argument array to present as sys.argv, including the first 

+

278 element naming the file being executed. `package` is the name of the 

+

279 enclosing package, if any. 

+

280 

+

281 This is a helper for tests, to encapsulate how to use PyRunner. 

+

282 

+

283 """ 

+

284 runner = PyRunner(args, as_module=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 runner.prepare() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 runner.run() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 

+

288 

+

289def make_code_from_py(filename: str) -> CodeType: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 """Get source from `filename` and make a code object of it.""" 

+

291 # Open the source file. 

+

292 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 source = get_python_source(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 except (OSError, NoSource) as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 raise NoSource(f"No file to run: '{filename}'") from exc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 

+

297 return compile(source, filename, "exec", dont_inherit=True) # type: ignore[no-any-return] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 

+

299 

+

300def make_code_from_pyc(filename: str) -> CodeType: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 """Get a code object from a .pyc file.""" 

+

302 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 fpyc = open(filename, "rb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 except OSError as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 raise NoCode(f"No file to run: '{filename}'") from exc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 

+

307 with fpyc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 # First four bytes are a version-specific magic number. It has to 

+

309 # match or we won't run the file. 

+

310 magic = fpyc.read(4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 if magic != PYC_MAGIC_NUMBER: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 raise NoCode(f"Bad magic number in .pyc file: {magic!r} != {PYC_MAGIC_NUMBER!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 

+

314 flags = struct.unpack('<L', fpyc.read(4))[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 hash_based = flags & 0x01 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 if hash_based: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 fpyc.read(8) # Skip the hash. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 else: 

+

319 # Skip the junk in the header that we don't need. 

+

320 fpyc.read(4) # Skip the moddate. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 fpyc.read(4) # Skip the size. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 

+

323 # The rest of the file is the code object we want. 

+

324 code = marshal.load(fpyc) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 assert isinstance(code, CodeType) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 

+

327 return code 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_files_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_files_py.html new file mode 100644 index 000000000..94c06e813 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_files_py.html @@ -0,0 +1,647 @@ + + + + + Coverage for coverage/files.py: 98.425% + + + + + +
+
+

+ Coverage for coverage/files.py: + 98.425% +

+ +

+ 254 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""File wrangling.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import hashlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import ntpath 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import posixpath 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from typing import Callable, Dict, Iterable, List, Optional, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.exceptions import ConfigError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.misc import human_sorted, isolate_module, join_regex 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22 

+

23os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25 

+

26RELATIVE_DIR: str = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27CANONICAL_FILENAME_CACHE: Dict[str, str] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29def set_relative_directory() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 """Set the directory that `relative_filename` will be relative to.""" 

+

31 global RELATIVE_DIR, CANONICAL_FILENAME_CACHE 

+

32 

+

33 # The current directory 

+

34 abs_curdir = abs_file(os.curdir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 if not abs_curdir.endswith(os.sep): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 # Suffix with separator only if not at the system root 

+

37 abs_curdir = abs_curdir + os.sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 

+

39 # The absolute path to our current directory. 

+

40 RELATIVE_DIR = os.path.normcase(abs_curdir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 

+

42 # Cache of results of calling the canonical_filename() method, to 

+

43 # avoid duplicating work. 

+

44 CANONICAL_FILENAME_CACHE = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 

+

46 

+

47def relative_directory() -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 """Return the directory that `relative_filename` is relative to.""" 

+

49 return RELATIVE_DIR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 

+

51 

+

52def relative_filename(filename: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 """Return the relative form of `filename`. 

+

54 

+

55 The file name will be relative to the current directory when the 

+

56 `set_relative_directory` was called. 

+

57 

+

58 """ 

+

59 fnorm = os.path.normcase(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 if fnorm.startswith(RELATIVE_DIR): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 filename = filename[len(RELATIVE_DIR):] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 return filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 

+

64 

+

65def canonical_filename(filename: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 """Return a canonical file name for `filename`. 

+

67 

+

68 An absolute path with no redundant components and normalized case. 

+

69 

+

70 """ 

+

71 if filename not in CANONICAL_FILENAME_CACHE: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 cf = filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 if not os.path.isabs(filename): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 for path in [os.curdir] + sys.path: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 if path is None: 75 ↛ 76line 75 didn't jump to line 76, because the condition on line 75 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 continue # type: ignore 

+

77 f = os.path.join(path, filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 exists = os.path.exists(f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 except UnicodeError: 

+

81 exists = False 

+

82 if exists: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 cf = f 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 cf = abs_file(cf) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 CANONICAL_FILENAME_CACHE[filename] = cf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 return CANONICAL_FILENAME_CACHE[filename] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 

+

89 

+

90MAX_FLAT = 100 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 

+

92def flat_rootname(filename: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 """A base for a flat file name to correspond to this file. 

+

94 

+

95 Useful for writing files about the code where you want all the files in 

+

96 the same directory, but need to differentiate same-named files from 

+

97 different directories. 

+

98 

+

99 For example, the file a/b/c.py will return 'd_86bbcbe134d28fd2_c_py' 

+

100 

+

101 """ 

+

102 dirname, basename = ntpath.split(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 if dirname: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 fp = hashlib.new("sha3_256", dirname.encode("UTF-8")).hexdigest()[:16] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 prefix = f"d_{fp}_" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 else: 

+

107 prefix = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 return prefix + basename.replace(".", "_") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 

+

110 

+

111if env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 

+

113 _ACTUAL_PATH_CACHE: Dict[str, str] = {} 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

114 _ACTUAL_PATH_LIST_CACHE: Dict[str, List[str]] = {} 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

115 

+

116 def actual_path(path: str) -> str: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

117 """Get the actual path of `path`, including the correct case.""" 

+

118 if path in _ACTUAL_PATH_CACHE: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

119 return _ACTUAL_PATH_CACHE[path] 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

120 

+

121 head, tail = os.path.split(path) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

122 if not tail: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

123 # This means head is the drive spec: normalize it. 

+

124 actpath = head.upper() 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

125 elif not head: 125 ↛ 126line 125 didn't jump to line 126, because the condition on line 125 was never true3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

126 actpath = tail 

+

127 else: 

+

128 head = actual_path(head) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

129 if head in _ACTUAL_PATH_LIST_CACHE: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

130 files = _ACTUAL_PATH_LIST_CACHE[head] 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

131 else: 

+

132 try: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

133 files = os.listdir(head) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

134 except Exception: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

135 # This will raise OSError, or this bizarre TypeError: 

+

136 # https://bugs.python.org/issue1776160 

+

137 files = [] 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

138 _ACTUAL_PATH_LIST_CACHE[head] = files 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

139 normtail = os.path.normcase(tail) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

140 for f in files: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

141 if os.path.normcase(f) == normtail: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

142 tail = f 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

143 break 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

144 actpath = os.path.join(head, tail) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

145 _ACTUAL_PATH_CACHE[path] = actpath 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

146 return actpath 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

147 

+

148else: 

+

149 def actual_path(path: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 """The actual path for non-Windows platforms.""" 

+

151 return path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 

+

153 

+

154def abs_file(path: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 """Return the absolute normalized form of `path`.""" 

+

156 return actual_path(os.path.abspath(os.path.realpath(path))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 

+

158 

+

159def zip_location(filename: str) -> Optional[Tuple[str, str]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 """Split a filename into a zipfile / inner name pair. 

+

161 

+

162 Only return a pair if the zipfile exists. No check is made if the inner 

+

163 name is in the zipfile. 

+

164 

+

165 """ 

+

166 for ext in ['.zip', '.whl', '.egg', '.pex']: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 zipbase, extension, inner = filename.partition(ext + sep(filename)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 if extension: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 zipfile = zipbase + ext 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 if os.path.exists(zipfile): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 return zipfile, inner 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 

+

174 

+

175def source_exists(path: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 """Determine if a source file path exists.""" 

+

177 if os.path.exists(path): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 

+

180 if zip_location(path): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 # If zip_location returns anything, then it's a zipfile that 

+

182 # exists. That's good enough for us. 

+

183 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 

+

185 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 

+

187 

+

188def python_reported_file(filename: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 """Return the string as Python would describe this file name.""" 

+

190 if env.PYBEHAVIOR.report_absolute_files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 filename = os.path.abspath(filename) 3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.9.ubuntu-latest.py

+

192 return filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 

+

195def isabs_anywhere(filename: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 """Is `filename` an absolute path on any OS?""" 

+

197 return ntpath.isabs(filename) or posixpath.isabs(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 

+

199 

+

200def prep_patterns(patterns: Iterable[str]) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 """Prepare the file patterns for use in a `GlobMatcher`. 

+

202 

+

203 If a pattern starts with a wildcard, it is used as a pattern 

+

204 as-is. If it does not start with a wildcard, then it is made 

+

205 absolute with the current directory. 

+

206 

+

207 If `patterns` is None, an empty list is returned. 

+

208 

+

209 """ 

+

210 prepped = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 for p in patterns or []: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 if p.startswith(("*", "?")): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 prepped.append(p) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 else: 

+

215 prepped.append(abs_file(p)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 return prepped 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 

+

218 

+

219class TreeMatcher: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 """A matcher for files in a tree. 

+

221 

+

222 Construct with a list of paths, either files or directories. Paths match 

+

223 with the `match` method if they are one of the files, or if they are 

+

224 somewhere in a subtree rooted at one of the directories. 

+

225 

+

226 """ 

+

227 def __init__(self, paths: Iterable[str], name: str = "unknown") -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 self.original_paths: List[str] = human_sorted(paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 #self.paths = list(map(os.path.normcase, paths)) 

+

230 self.paths = [os.path.normcase(p) for p in paths] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 self.name = name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 

+

233 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 return f"<TreeMatcher {self.name} {self.original_paths!r}>" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 

+

236 def info(self) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 """A list of strings for displaying when dumping state.""" 

+

238 return self.original_paths 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 

+

240 def match(self, fpath: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 """Does `fpath` indicate a file in one of our trees?""" 

+

242 fpath = os.path.normcase(fpath) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 for p in self.paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 if fpath.startswith(p): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 if fpath == p: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 # This is the same file! 

+

247 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 if fpath[len(p)] == os.sep: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 # This is a file in the directory 

+

250 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 

+

253 

+

254class ModuleMatcher: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 """A matcher for modules in a tree.""" 

+

256 def __init__(self, module_names: Iterable[str], name:str = "unknown") -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 self.modules = list(module_names) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 self.name = name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 

+

260 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 return f"<ModuleMatcher {self.name} {self.modules!r}>" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 

+

263 def info(self) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 """A list of strings for displaying when dumping state.""" 

+

265 return self.modules 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 

+

267 def match(self, module_name: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 """Does `module_name` indicate a module in one of our packages?""" 

+

269 if not module_name: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 for m in self.modules: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 if module_name.startswith(m): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 if module_name == m: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 if module_name[len(m)] == '.': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 # This is a module in the package 

+

278 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 

+

280 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 

+

282 

+

283class GlobMatcher: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 """A matcher for files by file name pattern.""" 

+

285 def __init__(self, pats: Iterable[str], name: str = "unknown") -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 self.pats = list(pats) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 self.re = globs_to_regex(self.pats, case_insensitive=env.WINDOWS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 self.name = name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 

+

290 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 return f"<GlobMatcher {self.name} {self.pats!r}>" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 

+

293 def info(self) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 """A list of strings for displaying when dumping state.""" 

+

295 return self.pats 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 

+

297 def match(self, fpath: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 """Does `fpath` match one of our file name patterns?""" 

+

299 return self.re.match(fpath) is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 

+

301 

+

302def sep(s: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 """Find the path separator used in this string, or os.sep if none.""" 

+

304 sep_match = re.search(r"[\\/]", s) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 if sep_match: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 the_sep = sep_match[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 else: 

+

308 the_sep = os.sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 return the_sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 

+

311 

+

312# Tokenizer for _glob_to_regex. 

+

313# None as a sub means disallowed. 

+

314G2RX_TOKENS = [(re.compile(rx), sub) for rx, sub in [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 (r"\*\*\*+", None), # Can't have *** 

+

316 (r"[^/]+\*\*+", None), # Can't have x** 

+

317 (r"\*\*+[^/]+", None), # Can't have **x 

+

318 (r"\*\*/\*\*", None), # Can't have **/** 

+

319 (r"^\*+/", r"(.*[/\\\\])?"), # ^*/ matches any prefix-slash, or nothing. 

+

320 (r"/\*+$", r"[/\\\\].*"), # /*$ matches any slash-suffix. 

+

321 (r"\*\*/", r"(.*[/\\\\])?"), # **/ matches any subdirs, including none 

+

322 (r"/", r"[/\\\\]"), # / matches either slash or backslash 

+

323 (r"\*", r"[^/\\\\]*"), # * matches any number of non slash-likes 

+

324 (r"\?", r"[^/\\\\]"), # ? matches one non slash-like 

+

325 (r"\[.*?\]", r"\g<0>"), # [a-f] matches [a-f] 

+

326 (r"[a-zA-Z0-9_-]+", r"\g<0>"), # word chars match themselves 

+

327 (r"[\[\]]", None), # Can't have single square brackets 

+

328 (r".", r"\\\g<0>"), # Anything else is escaped to be safe 

+

329]] 

+

330 

+

331def _glob_to_regex(pattern: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 """Convert a file-path glob pattern into a regex.""" 

+

333 # Turn all backslashes into slashes to simplify the tokenizer. 

+

334 pattern = pattern.replace("\\", "/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 if "/" not in pattern: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 pattern = "**/" + pattern 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 path_rx = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

338 pos = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 while pos < len(pattern): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 for rx, sub in G2RX_TOKENS: # pragma: always breaks 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 m = rx.match(pattern, pos=pos) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 if m: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 if sub is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 raise ConfigError(f"File pattern can't include {m[0]!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 path_rx.append(m.expand(sub)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 pos = m.end() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

347 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 return "".join(path_rx) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 

+

350 

+

351def globs_to_regex( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

352 patterns: Iterable[str], 

+

353 case_insensitive: bool = False, 

+

354 partial: bool = False, 

+

355) -> re.Pattern[str]: 

+

356 """Convert glob patterns to a compiled regex that matches any of them. 

+

357 

+

358 Slashes are always converted to match either slash or backslash, for 

+

359 Windows support, even when running elsewhere. 

+

360 

+

361 If the pattern has no slash or backslash, then it is interpreted as 

+

362 matching a file name anywhere it appears in the tree. Otherwise, the glob 

+

363 pattern must match the whole file path. 

+

364 

+

365 If `partial` is true, then the pattern will match if the target string 

+

366 starts with the pattern. Otherwise, it must match the entire string. 

+

367 

+

368 Returns: a compiled regex object. Use the .match method to compare target 

+

369 strings. 

+

370 

+

371 """ 

+

372 flags = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 if case_insensitive: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 flags |= re.IGNORECASE 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 rx = join_regex(map(_glob_to_regex, patterns)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 if not partial: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 rx = rf"(?:{rx})\Z" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 compiled = re.compile(rx, flags=flags) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

379 return compiled 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

380 

+

381 

+

382class PathAliases: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

383 """A collection of aliases for paths. 

+

384 

+

385 When combining data files from remote machines, often the paths to source 

+

386 code are different, for example, due to OS differences, or because of 

+

387 serialized checkouts on continuous integration machines. 

+

388 

+

389 A `PathAliases` object tracks a list of pattern/result pairs, and can 

+

390 map a path through those aliases to produce a unified path. 

+

391 

+

392 """ 

+

393 def __init__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

394 self, 

+

395 debugfn: Optional[Callable[[str], None]] = None, 

+

396 relative: bool = False, 

+

397 ) -> None: 

+

398 # A list of (original_pattern, regex, result) 

+

399 self.aliases: List[Tuple[str, re.Pattern[str], str]] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 self.debugfn = debugfn or (lambda msg: 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 self.relative = relative 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 self.pprinted = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 

+

404 def pprint(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 """Dump the important parts of the PathAliases, for debugging.""" 

+

406 self.debugfn(f"Aliases (relative={self.relative}):") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 for original_pattern, regex, result in self.aliases: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 self.debugfn(f" Rule: {original_pattern!r} -> {result!r} using regex {regex.pattern!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 

+

410 def add(self, pattern: str, result: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 """Add the `pattern`/`result` pair to the list of aliases. 

+

412 

+

413 `pattern` is an `glob`-style pattern. `result` is a simple 

+

414 string. When mapping paths, if a path starts with a match against 

+

415 `pattern`, then that match is replaced with `result`. This models 

+

416 isomorphic source trees being rooted at different places on two 

+

417 different machines. 

+

418 

+

419 `pattern` can't end with a wildcard component, since that would 

+

420 match an entire tree, and not just its root. 

+

421 

+

422 """ 

+

423 original_pattern = pattern 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 pattern_sep = sep(pattern) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 

+

426 if len(pattern) > 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 pattern = pattern.rstrip(r"\/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 

+

429 # The pattern can't end with a wildcard component. 

+

430 if pattern.endswith("*"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 raise ConfigError("Pattern must not end with wildcards.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 

+

433 # The pattern is meant to match a file path. Let's make it absolute 

+

434 # unless it already is, or is meant to match any prefix. 

+

435 if not self.relative: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

436 if not pattern.startswith('*') and not isabs_anywhere(pattern + pattern_sep): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 pattern = abs_file(pattern) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

438 if not pattern.endswith(pattern_sep): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

439 pattern += pattern_sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 

+

441 # Make a regex from the pattern. 

+

442 regex = globs_to_regex([pattern], case_insensitive=True, partial=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 

+

444 # Normalize the result: it must end with a path separator. 

+

445 result_sep = sep(result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 result = result.rstrip(r"\/") + result_sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 self.aliases.append((original_pattern, regex, result)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 

+

449 def map(self, path: str, exists:Callable[[str], bool] = source_exists) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 """Map `path` through the aliases. 

+

451 

+

452 `path` is checked against all of the patterns. The first pattern to 

+

453 match is used to replace the root of the path with the result root. 

+

454 Only one pattern is ever used. If no patterns match, `path` is 

+

455 returned unchanged. 

+

456 

+

457 The separator style in the result is made to match that of the result 

+

458 in the alias. 

+

459 

+

460 `exists` is a function to determine if the resulting path actually 

+

461 exists. 

+

462 

+

463 Returns the mapped path. If a mapping has happened, this is a 

+

464 canonical path. If no mapping has happened, it is the original value 

+

465 of `path` unchanged. 

+

466 

+

467 """ 

+

468 if not self.pprinted: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 self.pprint() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 self.pprinted = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 

+

472 for original_pattern, regex, result in self.aliases: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

473 m = regex.match(path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 if m: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 new = path.replace(m[0], result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

476 new = new.replace(sep(path), sep(result)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

477 if not self.relative: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 new = canonical_filename(new) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 dot_start = result.startswith(("./", ".\\")) and len(result) > 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 if new.startswith(("./", ".\\")) and not dot_start: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 new = new[2:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

482 if not exists(new): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 self.debugfn( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 f"Rule {original_pattern!r} changed {path!r} to {new!r} " + 

+

485 "which doesn't exist, continuing" 

+

486 ) 

+

487 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

488 self.debugfn( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

489 f"Matched path {path!r} to rule {original_pattern!r} -> {result!r}, " + 

+

490 f"producing {new!r}" 

+

491 ) 

+

492 return new 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

493 

+

494 # If we get here, no pattern matched. 

+

495 

+

496 if self.relative and not isabs_anywhere(path): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 # Auto-generate a pattern to implicitly match relative files 

+

498 parts = re.split(r"[/\\]", path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

499 if len(parts) > 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

500 dir1 = parts[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

501 pattern = f"*/{dir1}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 regex_pat = rf"^(.*[\\/])?{re.escape(dir1)}[\\/]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 result = f"{dir1}{os.sep}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 # Only add a new pattern if we don't already have this pattern. 

+

505 if not any(p == pattern for p, _, _ in self.aliases): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 self.debugfn( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 f"Generating rule: {pattern!r} -> {result!r} using regex {regex_pat!r}" 

+

508 ) 

+

509 self.aliases.append((pattern, re.compile(regex_pat), result)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

510 return self.map(path, exists=exists) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 

+

512 self.debugfn(f"No rules match, path {path!r} is unchanged") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 return path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 

+

515 

+

516def find_python_files(dirname: str, include_namespace_packages: bool) -> Iterable[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

517 """Yield all of the importable Python files in `dirname`, recursively. 

+

518 

+

519 To be importable, the files have to be in a directory with a __init__.py, 

+

520 except for `dirname` itself, which isn't required to have one. The 

+

521 assumption is that `dirname` was specified directly, so the user knows 

+

522 best, but sub-directories are checked for a __init__.py to be sure we only 

+

523 find the importable files. 

+

524 

+

525 If `include_namespace_packages` is True, then the check for __init__.py 

+

526 files is skipped. 

+

527 

+

528 Files with strange characters are skipped, since they couldn't have been 

+

529 imported, and are probably editor side-files. 

+

530 

+

531 """ 

+

532 for i, (dirpath, dirnames, filenames) in enumerate(os.walk(dirname)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 if not include_namespace_packages: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 if i > 0 and "__init__.py" not in filenames: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 # If a directory doesn't have __init__.py, then it isn't 

+

536 # importable and neither are its files 

+

537 del dirnames[:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 for filename in filenames: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

540 # We're only interested in files that look like reasonable Python 

+

541 # files: Must end with .py or .pyw, and must not have certain funny 

+

542 # characters that probably mean they are editor junk. 

+

543 if re.match(r"^[^.#~!$@%^&*()+=,]+\.pyw?$", filename): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

544 yield os.path.join(dirpath, filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

545 

+

546 

+

547# Globally set the relative directory. 

+

548set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_html_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_html_py.html new file mode 100644 index 000000000..f6cd5b3f2 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_html_py.html @@ -0,0 +1,706 @@ + + + + + Coverage for coverage/html.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/html.py: + 100.000% +

+ +

+ 306 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""HTML reporting for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import json 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import shutil 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from dataclasses import dataclass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from typing import Any, Dict, Iterable, List, Optional, Tuple, TYPE_CHECKING, cast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.data import CoverageData, add_data_to_hash 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.exceptions import NoDataError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.files import flat_rootname 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.misc import ensure_dir, file_be_gone, Hasher, isolate_module, format_local_datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.misc import human_sorted, plural 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.report import get_analysis_to_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.results import Analysis, Numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.templite import Templite 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.types import TLineNo, TMorf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28 

+

29if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 # To avoid circular imports: 

+

31 from coverage import Coverage 

+

32 from coverage.plugins import FileReporter 

+

33 

+

34 # To be able to use 3.8 typing features, and still run on 3.7: 

+

35 from typing import TypedDict 

+

36 

+

37 class IndexInfoDict(TypedDict): 

+

38 """Information for each file, to render the index file.""" 

+

39 nums: Numbers 

+

40 html_filename: str 

+

41 relative_filename: str 

+

42 

+

43 class FileInfoDict(TypedDict): 

+

44 """Summary of the information from last rendering, to avoid duplicate work.""" 

+

45 hash: str 

+

46 index: IndexInfoDict 

+

47 

+

48 

+

49os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 

+

51 

+

52def data_filename(fname: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 """Return the path to an "htmlfiles" data file of ours. 

+

54 """ 

+

55 static_dir = os.path.join(os.path.dirname(__file__), "htmlfiles") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 static_filename = os.path.join(static_dir, fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 return static_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 

+

59 

+

60def read_data(fname: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 """Return the contents of a data file of ours.""" 

+

62 with open(data_filename(fname)) as data_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 return data_file.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 

+

66def write_html(fname: str, html: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 """Write `html` to `fname`, properly encoded.""" 

+

68 html = re.sub(r"(\A\s+)|(\s+$)", "", html, flags=re.MULTILINE) + "\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 with open(fname, "wb") as fout: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 fout.write(html.encode('ascii', 'xmlcharrefreplace')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 

+

72 

+

73@dataclass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74class LineData: 

+

75 """The data for each source line of HTML output.""" 

+

76 tokens: List[Tuple[str, str]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 number: TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 category: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 statement: bool 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 contexts: List[str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 contexts_label: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 context_list: List[str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 short_annotations: List[str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 long_annotations: List[str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 html: str = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 annotate: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 annotate_long: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 css_class: str = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 

+

90 

+

91@dataclass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92class FileData: 

+

93 """The data for each source file of HTML output.""" 

+

94 relative_filename: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 nums: Numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 lines: List[LineData] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 

+

99class HtmlDataGeneration: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 """Generate structured data to be turned into HTML reports.""" 

+

101 

+

102 EMPTY = "(empty)" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 

+

104 def __init__(self, cov: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 self.coverage = cov 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 self.config = self.coverage.config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 data = self.coverage.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 self.has_arcs = data.has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 if self.config.show_contexts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 if data.measured_contexts() == {""}: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 self.coverage._warn("No contexts were measured") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 data.set_query_contexts(self.config.report_contexts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 

+

114 def data_for_file(self, fr: FileReporter, analysis: Analysis) -> FileData: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 """Produce the data needed for one file's report.""" 

+

116 if self.has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 missing_branch_arcs = analysis.missing_branch_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 arcs_executed = analysis.arcs_executed() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 

+

120 if self.config.show_contexts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 contexts_by_lineno = analysis.data.contexts_by_lineno(analysis.filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 

+

123 lines = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 

+

125 for lineno, tokens in enumerate(fr.source_token_lines(), start=1): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 # Figure out how to mark this line. 

+

127 category = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 short_annotations = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 long_annotations = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 

+

131 if lineno in analysis.excluded: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 category = 'exc' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 elif lineno in analysis.missing: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 category = 'mis' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 elif self.has_arcs and lineno in missing_branch_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 category = 'par' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 for b in missing_branch_arcs[lineno]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 if b < 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 short_annotations.append("exit") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 else: 

+

141 short_annotations.append(str(b)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 long_annotations.append(fr.missing_arc_description(lineno, b, arcs_executed)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 elif lineno in analysis.statements: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 category = 'run' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 

+

146 contexts = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 contexts_label = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 context_list = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 if category and self.config.show_contexts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 contexts = human_sorted(c or self.EMPTY for c in contexts_by_lineno.get(lineno, ())) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 if contexts == [self.EMPTY]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 contexts_label = self.EMPTY 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 else: 

+

154 contexts_label = f"{len(contexts)} ctx" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 context_list = contexts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 

+

157 lines.append(LineData( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 tokens=tokens, 

+

159 number=lineno, 

+

160 category=category, 

+

161 statement=(lineno in analysis.statements), 

+

162 contexts=contexts, 

+

163 contexts_label=contexts_label, 

+

164 context_list=context_list, 

+

165 short_annotations=short_annotations, 

+

166 long_annotations=long_annotations, 

+

167 )) 

+

168 

+

169 file_data = FileData( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 relative_filename=fr.relative_filename(), 

+

171 nums=analysis.numbers, 

+

172 lines=lines, 

+

173 ) 

+

174 

+

175 return file_data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 

+

177 

+

178class FileToReport: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 """A file we're considering reporting.""" 

+

180 def __init__(self, fr: FileReporter, analysis: Analysis) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 self.fr = fr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 self.analysis = analysis 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 self.rootname = flat_rootname(fr.relative_filename()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 self.html_filename = self.rootname + ".html" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 

+

186 

+

187class HtmlReporter: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 """HTML reporting.""" 

+

189 

+

190 # These files will be copied from the htmlfiles directory to the output 

+

191 # directory. 

+

192 STATIC_FILES = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 "style.css", 

+

194 "coverage_html.js", 

+

195 "keybd_closed.png", 

+

196 "keybd_open.png", 

+

197 "favicon_32.png", 

+

198 ] 

+

199 

+

200 def __init__(self, cov: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 self.coverage = cov 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 self.config = self.coverage.config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 self.directory = self.config.html_dir 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 

+

205 self.skip_covered = self.config.html_skip_covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 if self.skip_covered is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 self.skip_covered = self.config.skip_covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 self.skip_empty = self.config.html_skip_empty 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 if self.skip_empty is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 self.skip_empty = self.config.skip_empty 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 self.skipped_covered_count = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 self.skipped_empty_count = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 

+

214 title = self.config.html_title 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 

+

216 self.extra_css: Optional[str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 if self.config.extra_css: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 self.extra_css = os.path.basename(self.config.extra_css) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 else: 

+

220 self.extra_css = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 

+

222 self.data = self.coverage.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 self.has_arcs = self.data.has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 

+

225 self.file_summaries: List[IndexInfoDict] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 self.all_files_nums: List[Numbers] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 self.incr = IncrementalChecker(self.directory) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 self.datagen = HtmlDataGeneration(self.coverage) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 self.totals = Numbers(precision=self.config.precision) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 self.directory_was_empty = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 self.first_fr = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 self.final_fr = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 

+

234 self.template_globals = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 # Functions available in the templates. 

+

236 'escape': escape, 

+

237 'pair': pair, 

+

238 'len': len, 

+

239 

+

240 # Constants for this report. 

+

241 '__url__': coverage.__url__, 

+

242 '__version__': coverage.__version__, 

+

243 'title': title, 

+

244 'time_stamp': format_local_datetime(datetime.datetime.now()), 

+

245 'extra_css': self.extra_css, 

+

246 'has_arcs': self.has_arcs, 

+

247 'show_contexts': self.config.show_contexts, 

+

248 

+

249 # Constants for all reports. 

+

250 # These css classes determine which lines are highlighted by default. 

+

251 'category': { 

+

252 'exc': 'exc show_exc', 

+

253 'mis': 'mis show_mis', 

+

254 'par': 'par run show_par', 

+

255 'run': 'run', 

+

256 }, 

+

257 } 

+

258 self.pyfile_html_source = read_data("pyfile.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 self.source_tmpl = Templite(self.pyfile_html_source, self.template_globals) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 

+

261 def report(self, morfs: Optional[Iterable[TMorf]]) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 """Generate an HTML report for `morfs`. 

+

263 

+

264 `morfs` is a list of modules or file names. 

+

265 

+

266 """ 

+

267 # Read the status data and check that this run used the same 

+

268 # global data as the last run. 

+

269 self.incr.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 self.incr.check_global_data(self.config, self.pyfile_html_source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 # Process all the files. For each page we need to supply a link 

+

273 # to the next and previous page. 

+

274 files_to_report = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 

+

276 for fr, analysis in get_analysis_to_report(self.coverage, morfs): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 ftr = FileToReport(fr, analysis) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 should = self.should_report_file(ftr) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 if should: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 files_to_report.append(ftr) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 else: 

+

282 file_be_gone(os.path.join(self.directory, ftr.html_filename)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 

+

284 for i, ftr in enumerate(files_to_report): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 if i == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 prev_html = "index.html" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 else: 

+

288 prev_html = files_to_report[i - 1].html_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 if i == len(files_to_report) - 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 next_html = "index.html" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 else: 

+

292 next_html = files_to_report[i + 1].html_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 self.write_html_file(ftr, prev_html, next_html) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 

+

295 if not self.all_files_nums: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 raise NoDataError("No data to report.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 

+

298 self.totals = cast(Numbers, sum(self.all_files_nums)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 

+

300 # Write the index file. 

+

301 if files_to_report: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 first_html = files_to_report[0].html_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 final_html = files_to_report[-1].html_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 else: 

+

305 first_html = final_html = "index.html" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 self.index_file(first_html, final_html) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 

+

308 self.make_local_static_report_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 return self.totals.n_statements and self.totals.pc_covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 

+

311 def make_directory(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 """Make sure our htmlcov directory exists.""" 

+

313 ensure_dir(self.directory) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 if not os.listdir(self.directory): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 self.directory_was_empty = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 

+

317 def make_local_static_report_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 """Make local instances of static files for HTML report.""" 

+

319 # The files we provide must always be copied. 

+

320 for static in self.STATIC_FILES: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 shutil.copyfile(data_filename(static), os.path.join(self.directory, static)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 

+

323 # Only write the .gitignore file if the directory was originally empty. 

+

324 # .gitignore can't be copied from the source tree because it would 

+

325 # prevent the static files from being checked in. 

+

326 if self.directory_was_empty: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 with open(os.path.join(self.directory, ".gitignore"), "w") as fgi: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 fgi.write("# Created by coverage.py\n*\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 

+

330 # The user may have extra CSS they want copied. 

+

331 if self.extra_css: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 assert self.config.extra_css is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 shutil.copyfile(self.config.extra_css, os.path.join(self.directory, self.extra_css)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 

+

335 def should_report_file(self, ftr: FileToReport) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 """Determine if we'll report this file.""" 

+

337 # Get the numbers for this file. 

+

338 nums = ftr.analysis.numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 self.all_files_nums.append(nums) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 

+

341 if self.skip_covered: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 # Don't report on 100% files. 

+

343 no_missing_lines = (nums.n_missing == 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 no_missing_branches = (nums.n_partial_branches == 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 if no_missing_lines and no_missing_branches: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 # If there's an existing file, remove it. 

+

347 self.skipped_covered_count += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 

+

350 if self.skip_empty: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 # Don't report on empty files. 

+

352 if nums.n_statements == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 self.skipped_empty_count += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 

+

356 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 

+

358 def write_html_file(self, ftr: FileToReport, prev_html: str, next_html: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 """Generate an HTML file for one source file.""" 

+

360 self.make_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 

+

362 # Find out if the file on disk is already correct. 

+

363 if self.incr.can_skip_file(self.data, ftr.fr, ftr.rootname): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 self.file_summaries.append(self.incr.index_info(ftr.rootname)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 

+

367 # Write the HTML page for this file. 

+

368 file_data = self.datagen.data_for_file(ftr.fr, ftr.analysis) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 for ldata in file_data.lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

370 # Build the HTML for the line. 

+

371 html_parts = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 for tok_type, tok_text in ldata.tokens: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 if tok_type == "ws": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 html_parts.append(escape(tok_text)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 else: 

+

376 tok_html = escape(tok_text) or '&nbsp;' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 html_parts.append( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 f'<span class="{tok_type}">{tok_html}</span>' 

+

379 ) 

+

380 ldata.html = ''.join(html_parts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 

+

382 if ldata.short_annotations: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

383 # 202F is NARROW NO-BREAK SPACE. 

+

384 # 219B is RIGHTWARDS ARROW WITH STROKE. 

+

385 ldata.annotate = ",&nbsp;&nbsp; ".join( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 f"{ldata.number}&#x202F;&#x219B;&#x202F;{d}" 

+

387 for d in ldata.short_annotations 

+

388 ) 

+

389 else: 

+

390 ldata.annotate = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 

+

392 if ldata.long_annotations: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 longs = ldata.long_annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

394 if len(longs) == 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

395 ldata.annotate_long = longs[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 else: 

+

397 ldata.annotate_long = "{:d} missed branches: {}".format( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 len(longs), 

+

399 ", ".join( 

+

400 f"{num:d}) {ann_long}" 

+

401 for num, ann_long in enumerate(longs, start=1) 

+

402 ), 

+

403 ) 

+

404 else: 

+

405 ldata.annotate_long = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

406 

+

407 css_classes = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 if ldata.category: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 css_classes.append( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 self.template_globals['category'][ldata.category] # type: ignore[index] 

+

411 ) 

+

412 ldata.css_class = ' '.join(css_classes) or "pln" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

413 

+

414 html_path = os.path.join(self.directory, ftr.html_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 html = self.source_tmpl.render({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

416 **file_data.__dict__, 

+

417 'prev_html': prev_html, 

+

418 'next_html': next_html, 

+

419 }) 

+

420 write_html(html_path, html) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

421 

+

422 # Save this file's information for the index file. 

+

423 index_info: IndexInfoDict = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 'nums': ftr.analysis.numbers, 

+

425 'html_filename': ftr.html_filename, 

+

426 'relative_filename': ftr.fr.relative_filename(), 

+

427 } 

+

428 self.file_summaries.append(index_info) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 self.incr.set_index_info(ftr.rootname, index_info) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 

+

431 def index_file(self, first_html: str, final_html: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 """Write the index.html file for this report.""" 

+

433 self.make_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

434 index_tmpl = Templite(read_data("index.html"), self.template_globals) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

435 

+

436 skipped_covered_msg = skipped_empty_msg = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 if self.skipped_covered_count: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

438 n = self.skipped_covered_count 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

439 skipped_covered_msg = f"{n} file{plural(n)} skipped due to complete coverage." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 if self.skipped_empty_count: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

441 n = self.skipped_empty_count 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 skipped_empty_msg = f"{n} empty file{plural(n)} skipped." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 

+

444 html = index_tmpl.render({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 'files': self.file_summaries, 

+

446 'totals': self.totals, 

+

447 'skipped_covered_msg': skipped_covered_msg, 

+

448 'skipped_empty_msg': skipped_empty_msg, 

+

449 'first_html': first_html, 

+

450 'final_html': final_html, 

+

451 }) 

+

452 

+

453 index_file = os.path.join(self.directory, "index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 write_html(index_file, html) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 self.coverage._message(f"Wrote HTML report to {index_file}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

456 

+

457 # Write the latest hashes for next time. 

+

458 self.incr.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 

+

460 

+

461class IncrementalChecker: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

462 """Logic and data to support incremental reporting.""" 

+

463 

+

464 STATUS_FILE = "status.json" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

465 STATUS_FORMAT = 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 

+

467 # The data looks like: 

+

468 # 

+

469 # { 

+

470 # "format": 2, 

+

471 # "globals": "540ee119c15d52a68a53fe6f0897346d", 

+

472 # "version": "4.0a1", 

+

473 # "files": { 

+

474 # "cogapp___init__": { 

+

475 # "hash": "e45581a5b48f879f301c0f30bf77a50c", 

+

476 # "index": { 

+

477 # "html_filename": "cogapp___init__.html", 

+

478 # "relative_filename": "cogapp/__init__", 

+

479 # "nums": [ 1, 14, 0, 0, 0, 0, 0 ] 

+

480 # } 

+

481 # }, 

+

482 # ... 

+

483 # "cogapp_whiteutils": { 

+

484 # "hash": "8504bb427fc488c4176809ded0277d51", 

+

485 # "index": { 

+

486 # "html_filename": "cogapp_whiteutils.html", 

+

487 # "relative_filename": "cogapp/whiteutils", 

+

488 # "nums": [ 1, 59, 0, 1, 28, 2, 2 ] 

+

489 # } 

+

490 # } 

+

491 # } 

+

492 # } 

+

493 

+

494 def __init__(self, directory: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

495 self.directory = directory 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

496 self.reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 

+

498 def reset(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

499 """Initialize to empty. Causes all files to be reported.""" 

+

500 self.globals = '' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

501 self.files: Dict[str, FileInfoDict] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 

+

503 def read(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 """Read the information we stored last time.""" 

+

505 usable = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 status_file = os.path.join(self.directory, self.STATUS_FILE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 with open(status_file) as fstatus: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

509 status = json.load(fstatus) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

510 except (OSError, ValueError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 usable = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

512 else: 

+

513 usable = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 if status['format'] != self.STATUS_FORMAT: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 usable = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

516 elif status['version'] != coverage.__version__: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

517 usable = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

518 

+

519 if usable: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

520 self.files = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

521 for filename, fileinfo in status['files'].items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 fileinfo['index']['nums'] = Numbers(*fileinfo['index']['nums']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 self.files[filename] = fileinfo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

524 self.globals = status['globals'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

525 else: 

+

526 self.reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

527 

+

528 def write(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

529 """Write the current status.""" 

+

530 status_file = os.path.join(self.directory, self.STATUS_FILE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

531 files = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

532 for filename, fileinfo in self.files.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 index = fileinfo['index'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 index['nums'] = index['nums'].init_args() # type: ignore[typeddict-item] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 files[filename] = fileinfo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

536 

+

537 status = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 'format': self.STATUS_FORMAT, 

+

539 'version': coverage.__version__, 

+

540 'globals': self.globals, 

+

541 'files': files, 

+

542 } 

+

543 with open(status_file, "w") as fout: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

544 json.dump(status, fout, separators=(',', ':')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

545 

+

546 def check_global_data(self, *data: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 """Check the global data that can affect incremental reporting.""" 

+

548 m = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

549 for d in data: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 m.update(d) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 these_globals = m.hexdigest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

552 if self.globals != these_globals: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 self.reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 self.globals = these_globals 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

555 

+

556 def can_skip_file(self, data: CoverageData, fr: FileReporter, rootname: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

557 """Can we skip reporting this file? 

+

558 

+

559 `data` is a CoverageData object, `fr` is a `FileReporter`, and 

+

560 `rootname` is the name being used for the file. 

+

561 """ 

+

562 m = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 m.update(fr.source().encode('utf-8')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

564 add_data_to_hash(data, fr.filename, m) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 this_hash = m.hexdigest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 

+

567 that_hash = self.file_hash(rootname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 

+

569 if this_hash == that_hash: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 # Nothing has changed to require the file to be reported again. 

+

571 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 else: 

+

573 self.set_file_hash(rootname, this_hash) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

574 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

575 

+

576 def file_hash(self, fname: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

577 """Get the hash of `fname`'s contents.""" 

+

578 return self.files.get(fname, {}).get('hash', '') # type: ignore[call-overload] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 

+

580 def set_file_hash(self, fname: str, val: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 """Set the hash of `fname`'s contents.""" 

+

582 self.files.setdefault(fname, {})['hash'] = val # type: ignore[typeddict-item] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

583 

+

584 def index_info(self, fname: str) -> IndexInfoDict: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

585 """Get the information for index.html for `fname`.""" 

+

586 return self.files.get(fname, {}).get('index', {}) # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

587 

+

588 def set_index_info(self, fname: str, info: IndexInfoDict) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

589 """Set the information for index.html for `fname`.""" 

+

590 self.files.setdefault(fname, {})['index'] = info # type: ignore[typeddict-item] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 

+

592 

+

593# Helpers for templates and generating HTML 

+

594 

+

595def escape(t: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

596 """HTML-escape the text in `t`. 

+

597 

+

598 This is only suitable for HTML text, not attributes. 

+

599 

+

600 """ 

+

601 # Convert HTML special chars into HTML entities. 

+

602 return t.replace("&", "&amp;").replace("<", "&lt;") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

603 

+

604 

+

605def pair(ratio: Tuple[int, int]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 """Format a pair of numbers so JavaScript can read them in an attribute.""" 

+

607 return "%s %s" % ratio 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_inorout_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_inorout_py.html new file mode 100644 index 000000000..74ea852a3 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_inorout_py.html @@ -0,0 +1,694 @@ + + + + + Coverage for coverage/inorout.py: 76.411% + + + + + +
+
+

+ Coverage for coverage/inorout.py: + 76.411% +

+ +

+ 322 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Determining whether files are being measured/reported or not.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import importlib.util 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import inspect 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import itertools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import platform 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import sysconfig 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import traceback 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from types import FrameType, ModuleType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 cast, Any, Iterable, List, Optional, Set, Tuple, Type, TYPE_CHECKING, 

+

21) 

+

22 

+

23from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.disposition import FileDisposition, disposition_init 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.exceptions import CoverageException, PluginError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.files import TreeMatcher, GlobMatcher, ModuleMatcher 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.files import prep_patterns, find_python_files, canonical_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28from coverage.misc import sys_modules_saved 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from coverage.python import source_for_file, source_for_morf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30from coverage.types import TFileDisposition, TMorf, TWarnFn, TDebugCtl 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 

+

32if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 from coverage.config import CoverageConfig 

+

34 from coverage.plugin_support import Plugins 

+

35 

+

36 

+

37# Pypy has some unusual stuff in the "stdlib". Consider those locations 

+

38# when deciding where the stdlib is. These modules are not used for anything, 

+

39# they are modules importable from the pypy lib directories, so that we can 

+

40# find those directories. 

+

41modules_we_happen_to_have: List[ModuleType] = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 inspect, itertools, os, platform, re, sysconfig, traceback, 

+

43] 

+

44 

+

45if env.PYPY: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 try: pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 import _structseq pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 modules_we_happen_to_have.append(_structseq) pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 except ImportError: 

+

50 pass 

+

51 

+

52 try: pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 import _pypy_irc_topic pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 modules_we_happen_to_have.append(_pypy_irc_topic) pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 except ImportError: 

+

56 pass 

+

57 

+

58 

+

59def canonical_path(morf: TMorf, directory: bool = False) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 """Return the canonical path of the module or file `morf`. 

+

61 

+

62 If the module is a package, then return its directory. If it is a 

+

63 module, then return its file, unless `directory` is True, in which 

+

64 case return its enclosing directory. 

+

65 

+

66 """ 

+

67 morf_path = canonical_filename(source_for_morf(morf)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 if morf_path.endswith("__init__.py") or directory: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 morf_path = os.path.split(morf_path)[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 return morf_path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 

+

72 

+

73def name_for_module(filename: str, frame: Optional[FrameType]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 """Get the name of the module for a filename and frame. 

+

75 

+

76 For configurability's sake, we allow __main__ modules to be matched by 

+

77 their importable name. 

+

78 

+

79 If loaded via runpy (aka -m), we can usually recover the "original" 

+

80 full dotted module name, otherwise, we resort to interpreting the 

+

81 file name to get the module's name. In the case that the module name 

+

82 can't be determined, None is returned. 

+

83 

+

84 """ 

+

85 module_globals = frame.f_globals if frame is not None else {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 dunder_name: str = module_globals.get('__name__', None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 

+

88 if isinstance(dunder_name, str) and dunder_name != '__main__': 88 ↛ 90line 88 didn't jump to line 90, because the condition on line 88 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 # This is the usual case: an imported module. 

+

90 return dunder_name 

+

91 

+

92 loader = module_globals.get('__loader__', None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 for attrname in ('fullname', 'name'): # attribute renamed in py3.2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 if hasattr(loader, attrname): 94 ↛ 95line 94 didn't jump to line 95, because the condition on line 94 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 fullname = getattr(loader, attrname) 

+

96 else: 

+

97 continue 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

98 

+

99 if isinstance(fullname, str) and fullname != '__main__': 

+

100 # Module loaded via: runpy -m 

+

101 return fullname 

+

102 

+

103 # Script as first argument to Python command line. 

+

104 inspectedname = inspect.getmodulename(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 if inspectedname is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 return inspectedname 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 else: 

+

108 return dunder_name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 

+

110 

+

111def module_is_namespace(mod: ModuleType) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 """Is the module object `mod` a PEP420 namespace module?""" 

+

113 return hasattr(mod, '__path__') and getattr(mod, '__file__', None) is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 

+

115 

+

116def module_has_file(mod: ModuleType) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 """Does the module object `mod` have an existing __file__ ?""" 

+

118 mod__file__ = getattr(mod, '__file__', None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 if mod__file__ is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 return os.path.exists(mod__file__) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 

+

123 

+

124def file_and_path_for_module(modulename: str) -> Tuple[Optional[str], List[str]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 """Find the file and search path for `modulename`. 

+

126 

+

127 Returns: 

+

128 filename: The filename of the module, or None. 

+

129 path: A list (possibly empty) of directories to find submodules in. 

+

130 

+

131 """ 

+

132 filename = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 path = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 spec = importlib.util.find_spec(modulename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 except Exception: 

+

137 pass 

+

138 else: 

+

139 if spec is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 filename = spec.origin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 path = list(spec.submodule_search_locations or ()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 return filename, path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 

+

144 

+

145def add_stdlib_paths(paths: Set[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 """Add paths where the stdlib can be found to the set `paths`.""" 

+

147 # Look at where some standard modules are located. That's the 

+

148 # indication for "installed with the interpreter". In some 

+

149 # environments (virtualenv, for example), these modules may be 

+

150 # spread across a few locations. Look at all the candidate modules 

+

151 # we've imported, and take all the different ones. 

+

152 for m in modules_we_happen_to_have: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 if hasattr(m, "__file__"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 paths.add(canonical_path(m, directory=True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 

+

156 

+

157def add_third_party_paths(paths: Set[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 """Add locations for third-party packages to the set `paths`.""" 

+

159 # Get the paths that sysconfig knows about. 

+

160 scheme_names = set(sysconfig.get_scheme_names()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 

+

162 for scheme in scheme_names: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 # https://foss.heptapod.net/pypy/pypy/-/issues/3433 

+

164 better_scheme = "pypy_posix" if scheme == "pypy" else scheme 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 if os.name in better_scheme.split("_"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 config_paths = sysconfig.get_paths(scheme) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 for path_name in ["platlib", "purelib", "scripts"]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 paths.add(config_paths[path_name]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 

+

170 

+

171def add_coverage_paths(paths: Set[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 """Add paths where coverage.py code can be found to the set `paths`.""" 

+

173 cover_path = canonical_path(__file__, directory=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 paths.add(cover_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 if env.TESTING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 # Don't include our own test code. 

+

177 paths.add(os.path.join(cover_path, "tests")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 

+

179 

+

180class InOrOut: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 """Machinery for determining what files to measure.""" 

+

182 

+

183 def __init__( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 self, 

+

185 config: CoverageConfig, 

+

186 warn: TWarnFn, 

+

187 debug: Optional[TDebugCtl], 

+

188 include_namespace_packages: bool, 

+

189 ) -> None: 

+

190 self.warn = warn 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 self.debug = debug 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 self.include_namespace_packages = include_namespace_packages 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 self.source: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 self.source_pkgs: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 self.source_pkgs.extend(config.source_pkgs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 for src in config.source or []: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 if os.path.isdir(src): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 self.source.append(canonical_filename(src)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 else: 

+

201 self.source_pkgs.append(src) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 self.source_pkgs_unmatched = self.source_pkgs[:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 

+

204 self.include = prep_patterns(config.run_include) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 self.omit = prep_patterns(config.run_omit) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 

+

207 # The directories for files considered "installed with the interpreter". 

+

208 self.pylib_paths: Set[str] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 if not config.cover_pylib: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 add_stdlib_paths(self.pylib_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 

+

212 # To avoid tracing the coverage.py code itself, we skip anything 

+

213 # located where we are. 

+

214 self.cover_paths: Set[str] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 add_coverage_paths(self.cover_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 

+

217 # Find where third-party packages are installed. 

+

218 self.third_paths: Set[str] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 add_third_party_paths(self.third_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 

+

221 def _debug(msg: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 if self.debug: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 self.debug.write(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 

+

225 # The matchers for should_trace. 

+

226 

+

227 # Generally useful information 

+

228 _debug("sys.path:" + "".join(f"\n {p}" for p in sys.path)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 

+

230 # Create the matchers we need for should_trace 

+

231 self.source_match = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 self.source_pkgs_match = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 self.pylib_match = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 self.include_match = self.omit_match = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 

+

236 if self.source or self.source_pkgs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 against = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 if self.source: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 self.source_match = TreeMatcher(self.source, "source") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 against.append(f"trees {self.source_match!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 if self.source_pkgs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 self.source_pkgs_match = ModuleMatcher(self.source_pkgs, "source_pkgs") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 against.append(f"modules {self.source_pkgs_match!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 _debug("Source matching against " + " and ".join(against)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 else: 

+

246 if self.pylib_paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 self.pylib_match = TreeMatcher(self.pylib_paths, "pylib") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 _debug(f"Python stdlib matching: {self.pylib_match!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 if self.include: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 self.include_match = GlobMatcher(self.include, "include") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 _debug(f"Include matching: {self.include_match!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 if self.omit: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 self.omit_match = GlobMatcher(self.omit, "omit") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 _debug(f"Omit matching: {self.omit_match!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 

+

256 self.cover_match = TreeMatcher(self.cover_paths, "coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 _debug(f"Coverage code matching: {self.cover_match!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 

+

259 self.third_match = TreeMatcher(self.third_paths, "third") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 _debug(f"Third-party lib matching: {self.third_match!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 

+

262 # Check if the source we want to measure has been installed as a 

+

263 # third-party package. 

+

264 # Is the source inside a third-party area? 

+

265 self.source_in_third = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 with sys_modules_saved(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 for pkg in self.source_pkgs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 modfile, path = file_and_path_for_module(pkg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 _debug(f"Imported source package {pkg!r} as {modfile!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 except CoverageException as exc: 

+

272 _debug(f"Couldn't import source package {pkg!r}: {exc}") 

+

273 continue 

+

274 if modfile: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 if self.third_match.match(modfile): 275 ↛ 276line 275 didn't jump to line 276, because the condition on line 275 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 _debug( 

+

277 f"Source is in third-party because of source_pkg {pkg!r} at {modfile!r}" 

+

278 ) 

+

279 self.source_in_third = True 

+

280 else: 

+

281 for pathdir in path: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 if self.third_match.match(pathdir): 282 ↛ 283line 282 didn't jump to line 283, because the condition on line 282 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 _debug( 

+

284 f"Source is in third-party because of {pkg!r} path directory " + 

+

285 f"at {pathdir!r}" 

+

286 ) 

+

287 self.source_in_third = True 

+

288 

+

289 for src in self.source: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 if self.third_match.match(src): 290 ↛ 291line 290 didn't jump to line 291, because the condition on line 290 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 _debug(f"Source is in third-party because of source directory {src!r}") 

+

292 self.source_in_third = True 

+

293 

+

294 self.plugins: Plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 self.disp_class: Type[TFileDisposition] = FileDisposition 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 

+

297 def should_trace(self, filename: str, frame: Optional[FrameType] = None) -> TFileDisposition: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 """Decide whether to trace execution in `filename`, with a reason. 

+

299 

+

300 This function is called from the trace function. As each new file name 

+

301 is encountered, this function determines whether it is traced or not. 

+

302 

+

303 Returns a FileDisposition object. 

+

304 

+

305 """ 

+

306 original_filename = filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 disp = disposition_init(self.disp_class, filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 

+

309 def nope(disp: TFileDisposition, reason: str) -> TFileDisposition: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 """Simple helper to make it easy to return NO.""" 

+

311 disp.trace = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 disp.reason = reason 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 return disp 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 

+

315 if original_filename.startswith('<'): 315 ↛ 316line 315 didn't jump to line 316, because the condition on line 315 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 return nope(disp, "original file name is not real") 

+

317 

+

318 if frame is not None: 318 ↛ 325line 318 didn't jump to line 325, because the condition on line 318 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 # Compiled Python files have two file names: frame.f_code.co_filename is 

+

320 # the file name at the time the .pyc was compiled. The second name is 

+

321 # __file__, which is where the .pyc was actually loaded from. Since 

+

322 # .pyc files can be moved after compilation (for example, by being 

+

323 # installed), we look for __file__ in the frame and prefer it to the 

+

324 # co_filename value. 

+

325 dunder_file = frame.f_globals and frame.f_globals.get('__file__') 

+

326 if dunder_file: 

+

327 filename = source_for_file(dunder_file) 

+

328 if original_filename and not original_filename.startswith('<'): 

+

329 orig = os.path.basename(original_filename) 

+

330 if orig != os.path.basename(filename): 

+

331 # Files shouldn't be renamed when moved. This happens when 

+

332 # exec'ing code. If it seems like something is wrong with 

+

333 # the frame's file name, then just use the original. 

+

334 filename = original_filename 

+

335 

+

336 if not filename: 336 ↛ 338line 336 didn't jump to line 338, because the condition on line 336 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 # Empty string is pretty useless. 

+

338 return nope(disp, "empty string isn't a file name") 

+

339 

+

340 if filename.startswith('memory:'): 340 ↛ 341line 340 didn't jump to line 341, because the condition on line 340 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 return nope(disp, "memory isn't traceable") 

+

342 

+

343 if filename.startswith('<'): 343 ↛ 348line 343 didn't jump to line 348, because the condition on line 343 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 # Lots of non-file execution is represented with artificial 

+

345 # file names like "<string>", "<doctest readme.txt[0]>", or 

+

346 # "<exec_function>". Don't ever trace these executions, since we 

+

347 # can't do anything with the data later anyway. 

+

348 return nope(disp, "file name is not real") 

+

349 

+

350 canonical = canonical_filename(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 disp.canonical_filename = canonical 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 

+

353 # Try the plugins, see if they have an opinion about the file. 

+

354 plugin = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 for plugin in self.plugins.file_tracers: 355 ↛ 356line 355 didn't jump to line 356, because the loop on line 355 never started3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 if not plugin._coverage_enabled: 

+

357 continue 

+

358 

+

359 try: 

+

360 file_tracer = plugin.file_tracer(canonical) 

+

361 if file_tracer is not None: 

+

362 file_tracer._coverage_plugin = plugin 

+

363 disp.trace = True 

+

364 disp.file_tracer = file_tracer 

+

365 if file_tracer.has_dynamic_source_filename(): 

+

366 disp.has_dynamic_filename = True 

+

367 else: 

+

368 disp.source_filename = canonical_filename( 

+

369 file_tracer.source_filename() 

+

370 ) 

+

371 break 

+

372 except Exception: 

+

373 plugin_name = plugin._coverage_plugin_name 

+

374 tb = traceback.format_exc() 

+

375 self.warn(f"Disabling plug-in {plugin_name!r} due to an exception:\n{tb}") 

+

376 plugin._coverage_enabled = False 

+

377 continue 

+

378 else: 

+

379 # No plugin wanted it: it's Python. 

+

380 disp.trace = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 disp.source_filename = canonical 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 

+

383 if not disp.has_dynamic_filename: 383 ↛ 392line 383 didn't jump to line 392, because the condition on line 383 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 if not disp.source_filename: 384 ↛ 385line 384 didn't jump to line 385, because the condition on line 384 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

385 raise PluginError( 

+

386 f"Plugin {plugin!r} didn't set source_filename for '{disp.original_filename}'" 

+

387 ) 

+

388 reason = self.check_include_omit_etc(disp.source_filename, frame) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 if reason: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 nope(disp, reason) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 

+

392 return disp 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 

+

394 def check_include_omit_etc(self, filename: str, frame: Optional[FrameType]) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

395 """Check a file name against the include, omit, etc, rules. 

+

396 

+

397 Returns a string or None. String means, don't trace, and is the reason 

+

398 why. None means no reason found to not trace. 

+

399 

+

400 """ 

+

401 modulename = name_for_module(filename, frame) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 

+

403 # If the user specified source or include, then that's authoritative 

+

404 # about the outer bound of what to measure and we don't have to apply 

+

405 # any canned exclusions. If they didn't, then we have to exclude the 

+

406 # stdlib and coverage.py directories. 

+

407 if self.source_match or self.source_pkgs_match: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 extra = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 ok = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 if self.source_pkgs_match: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 if self.source_pkgs_match.match(modulename): 411 ↛ 412line 411 didn't jump to line 412, because the condition on line 411 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

412 ok = True 

+

413 if modulename in self.source_pkgs_unmatched: 

+

414 self.source_pkgs_unmatched.remove(modulename) 

+

415 else: 

+

416 extra = f"module {modulename!r} " 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 if not ok and self.source_match: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

418 if self.source_match.match(filename): 418 ↛ 419line 418 didn't jump to line 419, because the condition on line 418 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 ok = True 

+

420 if not ok: 420 ↛ 422line 420 didn't jump to line 422, because the condition on line 420 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

421 return extra + "falls outside the --source spec" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 if not self.source_in_third: 

+

423 if self.third_match.match(filename): 

+

424 return "inside --source, but is third-party" 

+

425 elif self.include_match: 425 ↛ 431line 425 didn't jump to line 431, because the condition on line 425 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 if not self.include_match.match(filename): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 return "falls outside the --include trees" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 else: 

+

429 # We exclude the coverage.py code itself, since a little of it 

+

430 # will be measured otherwise. 

+

431 if self.cover_match.match(filename): 

+

432 return "is part of coverage.py" 

+

433 

+

434 # If we aren't supposed to trace installed code, then check if this 

+

435 # is near the Python standard library and skip it if so. 

+

436 if self.pylib_match and self.pylib_match.match(filename): 

+

437 return "is in the stdlib" 

+

438 

+

439 # Exclude anything in the third-party installation areas. 

+

440 if self.third_match.match(filename): 

+

441 return "is a third-party module" 

+

442 

+

443 # Check the file against the omit pattern. 

+

444 if self.omit_match and self.omit_match.match(filename): 444 ↛ 445line 444 didn't jump to line 445, because the condition on line 444 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 return "is inside an --omit pattern" 

+

446 

+

447 # No point tracing a file we can't later write to SQLite. 

+

448 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 filename.encode("utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 except UnicodeEncodeError: 

+

451 return "non-encodable filename" 

+

452 

+

453 # No reason found to skip this file. 

+

454 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 

+

456 def warn_conflicting_settings(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

457 """Warn if there are settings that conflict.""" 

+

458 if self.include: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 if self.source or self.source_pkgs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 self.warn("--include is ignored because --source is set", slug="include-ignored") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

461 

+

462 def warn_already_imported_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 """Warn if files have already been imported that we will be measuring.""" 

+

464 if self.include or self.source or self.source_pkgs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

465 warned = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 for mod in list(sys.modules.values()): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

467 filename = getattr(mod, "__file__", None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 if filename is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 if filename in warned: 470 ↛ 471line 470 didn't jump to line 471, because the condition on line 470 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 continue 

+

472 

+

473 if len(getattr(mod, "__path__", ())) > 1: 473 ↛ 475line 473 didn't jump to line 475, because the condition on line 473 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 # A namespace package, which confuses this code, so ignore it. 

+

475 continue 

+

476 

+

477 disp = self.should_trace(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 if disp.has_dynamic_filename: 478 ↛ 482line 478 didn't jump to line 482, because the condition on line 478 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 # A plugin with dynamic filenames: the Python file 

+

480 # shouldn't cause a warning, since it won't be the subject 

+

481 # of tracing anyway. 

+

482 continue 

+

483 if disp.trace: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 msg = f"Already imported a file that will be measured: {filename}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

485 self.warn(msg, slug="already-imported") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 warned.add(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

487 elif self.debug and self.debug.should('trace'): 487 ↛ 488line 487 didn't jump to line 488, because the condition on line 487 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

488 self.debug.write( 

+

489 "Didn't trace already imported file {!r}: {}".format( 

+

490 disp.original_filename, disp.reason 

+

491 ) 

+

492 ) 

+

493 

+

494 def warn_unimported_source(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

495 """Warn about source packages that were of interest, but never traced.""" 

+

496 for pkg in self.source_pkgs_unmatched: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 self._warn_about_unmeasured_code(pkg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 

+

499 def _warn_about_unmeasured_code(self, pkg: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

500 """Warn about a package or module that we never traced. 

+

501 

+

502 `pkg` is a string, the name of the package or module. 

+

503 

+

504 """ 

+

505 mod = sys.modules.get(pkg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 if mod is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 self.warn(f"Module {pkg} was never imported.", slug="module-not-imported") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

509 

+

510 if module_is_namespace(mod): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 # A namespace package. It's OK for this not to have been traced, 

+

512 # since there is no code directly in it. 

+

513 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 

+

515 if not module_has_file(mod): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

516 self.warn(f"Module {pkg} has no Python source.", slug="module-not-python") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

517 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

518 

+

519 # The module was in sys.modules, and seems like a module with code, but 

+

520 # we never measured it. I guess that means it was imported before 

+

521 # coverage even started. 

+

522 msg = f"Module {pkg} was previously imported, but not measured" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 self.warn(msg, slug="module-not-measured") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

524 

+

525 def find_possibly_unexecuted_files(self) -> Iterable[Tuple[str, Optional[str]]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

526 """Find files in the areas of interest that might be untraced. 

+

527 

+

528 Yields pairs: file path, and responsible plug-in name. 

+

529 """ 

+

530 for pkg in self.source_pkgs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

531 if (not pkg in sys.modules or 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

532 not module_has_file(sys.modules[pkg])): 

+

533 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 pkg_file = source_for_file(cast(str, sys.modules[pkg].__file__)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 yield from self._find_executable_files(canonical_path(pkg_file)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

536 

+

537 for src in self.source: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 yield from self._find_executable_files(src) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 

+

540 def _find_plugin_files(self, src_dir: str) -> Iterable[Tuple[str, str]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

541 """Get executable files from the plugins.""" 

+

542 for plugin in self.plugins.file_tracers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

543 for x_file in plugin.find_executable_files(src_dir): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

544 yield x_file, plugin._coverage_plugin_name 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

545 

+

546 def _find_executable_files(self, src_dir: str) -> Iterable[Tuple[str, Optional[str]]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 """Find executable files in `src_dir`. 

+

548 

+

549 Search for files in `src_dir` that can be executed because they 

+

550 are probably importable. Don't include ones that have been omitted 

+

551 by the configuration. 

+

552 

+

553 Yield the file path, and the plugin name that handles the file. 

+

554 

+

555 """ 

+

556 py_files = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

557 (py_file, None) for py_file in 

+

558 find_python_files(src_dir, self.include_namespace_packages) 

+

559 ) 

+

560 plugin_files = self._find_plugin_files(src_dir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

561 

+

562 for file_path, plugin_name in itertools.chain(py_files, plugin_files): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 file_path = canonical_filename(file_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

564 if self.omit_match and self.omit_match.match(file_path): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 # Turns out this file was omitted, so don't pull it back 

+

566 # in as un-executed. 

+

567 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 yield file_path, plugin_name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

569 

+

570 def sys_info(self) -> Iterable[Tuple[str, Any]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

571 """Our information for Coverage.sys_info. 

+

572 

+

573 Returns a list of (key, value) pairs. 

+

574 """ 

+

575 info = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

576 ("coverage_paths", self.cover_paths), 

+

577 ("stdlib_paths", self.pylib_paths), 

+

578 ("third_party_paths", self.third_paths), 

+

579 ] 

+

580 

+

581 matcher_names = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

582 'source_match', 'source_pkgs_match', 

+

583 'include_match', 'omit_match', 

+

584 'cover_match', 'pylib_match', 'third_match', 

+

585 ] 

+

586 

+

587 for matcher_name in matcher_names: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 matcher = getattr(self, matcher_name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

589 if matcher: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

590 matcher_info = matcher.info() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 else: 

+

592 matcher_info = '-none-' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 info.append((matcher_name, matcher_info)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

594 

+

595 return info 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_jsonreport_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_jsonreport_py.html new file mode 100644 index 000000000..284ee18fd --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_jsonreport_py.html @@ -0,0 +1,228 @@ + + + + + Coverage for coverage/jsonreport.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/jsonreport.py: + 100.000% +

+ +

+ 47 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Json reporting for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import json 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from typing import Any, Dict, IO, Iterable, List, Optional, Tuple, TYPE_CHECKING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from coverage import __version__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.report import get_analysis_to_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.results import Analysis, Numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.types import TMorf, TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 from coverage import Coverage 

+

21 from coverage.data import CoverageData 

+

22 

+

23 

+

24class JsonReporter: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 """A reporter for writing JSON coverage results.""" 

+

26 

+

27 report_type = "JSON report" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 def __init__(self, coverage: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 self.coverage = coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 self.config = self.coverage.config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 self.total = Numbers(self.config.precision) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 self.report_data: Dict[str, Any] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 def report(self, morfs: Optional[Iterable[TMorf]], outfile: IO[str]) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 """Generate a json report for `morfs`. 

+

37 

+

38 `morfs` is a list of modules or file names. 

+

39 

+

40 `outfile` is a file object to write the json to. 

+

41 

+

42 """ 

+

43 outfile = outfile or sys.stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 coverage_data = self.coverage.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 coverage_data.set_query_contexts(self.config.report_contexts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 self.report_data["meta"] = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 "version": __version__, 

+

48 "timestamp": datetime.datetime.now().isoformat(), 

+

49 "branch_coverage": coverage_data.has_arcs(), 

+

50 "show_contexts": self.config.json_show_contexts, 

+

51 } 

+

52 

+

53 measured_files = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 for file_reporter, analysis in get_analysis_to_report(self.coverage, morfs): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 measured_files[file_reporter.relative_filename()] = self.report_one_file( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 coverage_data, 

+

57 analysis 

+

58 ) 

+

59 

+

60 self.report_data["files"] = measured_files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 

+

62 self.report_data["totals"] = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 'covered_lines': self.total.n_executed, 

+

64 'num_statements': self.total.n_statements, 

+

65 'percent_covered': self.total.pc_covered, 

+

66 'percent_covered_display': self.total.pc_covered_str, 

+

67 'missing_lines': self.total.n_missing, 

+

68 'excluded_lines': self.total.n_excluded, 

+

69 } 

+

70 

+

71 if coverage_data.has_arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 self.report_data["totals"].update({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 'num_branches': self.total.n_branches, 

+

74 'num_partial_branches': self.total.n_partial_branches, 

+

75 'covered_branches': self.total.n_executed_branches, 

+

76 'missing_branches': self.total.n_missing_branches, 

+

77 }) 

+

78 

+

79 json.dump( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 self.report_data, 

+

81 outfile, 

+

82 indent=(4 if self.config.json_pretty_print else None), 

+

83 ) 

+

84 

+

85 return self.total.n_statements and self.total.pc_covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 def report_one_file(self, coverage_data: CoverageData, analysis: Analysis) -> Dict[str, Any]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 """Extract the relevant report data for a single file.""" 

+

89 nums = analysis.numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 self.total += nums 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 summary = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 'covered_lines': nums.n_executed, 

+

93 'num_statements': nums.n_statements, 

+

94 'percent_covered': nums.pc_covered, 

+

95 'percent_covered_display': nums.pc_covered_str, 

+

96 'missing_lines': nums.n_missing, 

+

97 'excluded_lines': nums.n_excluded, 

+

98 } 

+

99 reported_file = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 'executed_lines': sorted(analysis.executed), 

+

101 'summary': summary, 

+

102 'missing_lines': sorted(analysis.missing), 

+

103 'excluded_lines': sorted(analysis.excluded), 

+

104 } 

+

105 if self.config.json_show_contexts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 reported_file['contexts'] = analysis.data.contexts_by_lineno(analysis.filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 if coverage_data.has_arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 summary.update({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 'num_branches': nums.n_branches, 

+

110 'num_partial_branches': nums.n_partial_branches, 

+

111 'covered_branches': nums.n_executed_branches, 

+

112 'missing_branches': nums.n_missing_branches, 

+

113 }) 

+

114 reported_file['executed_branches'] = list( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 _convert_branch_arcs(analysis.executed_branch_arcs()) 

+

116 ) 

+

117 reported_file['missing_branches'] = list( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 _convert_branch_arcs(analysis.missing_branch_arcs()) 

+

119 ) 

+

120 return reported_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 

+

122 

+

123def _convert_branch_arcs( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 branch_arcs: Dict[TLineNo, List[TLineNo]], 

+

125) -> Iterable[Tuple[TLineNo, TLineNo]]: 

+

126 """Convert branch arcs to a list of two-element tuples.""" 

+

127 for source, targets in branch_arcs.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 for target in targets: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 yield source, target 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_lcovreport_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_lcovreport_py.html new file mode 100644 index 000000000..439cf99fa --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_lcovreport_py.html @@ -0,0 +1,220 @@ + + + + + Coverage for coverage/lcovreport.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/lcovreport.py: + 100.000% +

+ +

+ 55 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""LCOV reporting for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import base64 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10from hashlib import md5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from typing import IO, Iterable, Optional, TYPE_CHECKING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from coverage.plugin import FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.report import get_analysis_to_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.results import Analysis, Numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.types import TMorf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 from coverage import Coverage 

+

21 from coverage.data import CoverageData 

+

22 

+

23 

+

24class LcovReporter: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 """A reporter for writing LCOV coverage reports.""" 

+

26 

+

27 report_type = "LCOV report" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 def __init__(self, coverage: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 self.coverage = coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 self.total = Numbers(self.coverage.config.precision) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33 def report(self, morfs: Optional[Iterable[TMorf]], outfile: IO[str]) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 """Renders the full lcov report. 

+

35 

+

36 'morfs' is a list of modules or filenames 

+

37 

+

38 outfile is the file object to write the file into. 

+

39 """ 

+

40 

+

41 self.coverage.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 outfile = outfile or sys.stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 

+

44 for fr, analysis in get_analysis_to_report(self.coverage, morfs): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 self.get_lcov(fr, analysis, outfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 

+

47 return self.total.n_statements and self.total.pc_covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 def get_lcov(self, fr: FileReporter, analysis: Analysis, outfile: IO[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 """Produces the lcov data for a single file. 

+

51 

+

52 This currently supports both line and branch coverage, 

+

53 however function coverage is not supported. 

+

54 """ 

+

55 self.total += analysis.numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 

+

57 outfile.write("TN:\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 outfile.write(f"SF:{fr.relative_filename()}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 source_lines = fr.source().splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 

+

61 for covered in sorted(analysis.executed): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 # Note: Coverage.py currently only supports checking *if* a line 

+

63 # has been executed, not how many times, so we set this to 1 for 

+

64 # nice output even if it's technically incorrect. 

+

65 

+

66 # The lines below calculate a 64-bit encoded md5 hash of the line 

+

67 # corresponding to the DA lines in the lcov file, for either case 

+

68 # of the line being covered or missed in coverage.py. The final two 

+

69 # characters of the encoding ("==") are removed from the hash to 

+

70 # allow genhtml to run on the resulting lcov file. 

+

71 if source_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 line = source_lines[covered-1].encode("utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 else: 

+

74 line = b"" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 hashed = base64.b64encode(md5(line).digest()).decode().rstrip("=") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 outfile.write(f"DA:{covered},1,{hashed}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78 for missed in sorted(analysis.missing): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 assert source_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 line = source_lines[missed-1].encode("utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 hashed = base64.b64encode(md5(line).digest()).decode().rstrip("=") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 outfile.write(f"DA:{missed},0,{hashed}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 

+

84 outfile.write(f"LF:{len(analysis.statements)}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 outfile.write(f"LH:{len(analysis.executed)}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 # More information dense branch coverage data. 

+

88 missing_arcs = analysis.missing_branch_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 executed_arcs = analysis.executed_branch_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 for block_number, block_line_number in enumerate( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 sorted(analysis.branch_stats().keys()) 

+

92 ): 

+

93 for branch_number, line_number in enumerate( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 sorted(missing_arcs[block_line_number]) 

+

95 ): 

+

96 # The exit branches have a negative line number, 

+

97 # this will not produce valid lcov. Setting 

+

98 # the line number of the exit branch to 0 will allow 

+

99 # for valid lcov, while preserving the data. 

+

100 line_number = max(line_number, 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 outfile.write(f"BRDA:{line_number},{block_number},{branch_number},-\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 

+

103 # The start value below allows for the block number to be 

+

104 # preserved between these two for loops (stopping the loop from 

+

105 # resetting the value of the block number to 0). 

+

106 for branch_number, line_number in enumerate( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 sorted(executed_arcs[block_line_number]), 

+

108 start=len(missing_arcs[block_line_number]), 

+

109 ): 

+

110 line_number = max(line_number, 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 outfile.write(f"BRDA:{line_number},{block_number},{branch_number},1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 

+

113 # Summary of the branch coverage. 

+

114 if analysis.has_arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 branch_stats = analysis.branch_stats() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 brf = sum(t for t, k in branch_stats.values()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 brh = brf - sum(t - k for t, k in branch_stats.values()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 outfile.write(f"BRF:{brf}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 outfile.write(f"BRH:{brh}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 

+

121 outfile.write("end_of_record\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_misc_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_misc_py.html new file mode 100644 index 000000000..ce53f8171 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_misc_py.html @@ -0,0 +1,487 @@ + + + + + Coverage for coverage/misc.py: 97.490% + + + + + +
+
+

+ Coverage for coverage/misc.py: + 97.490% +

+ +

+ 177 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Miscellaneous stuff for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import contextlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import errno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import hashlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import importlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import importlib.util 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import inspect 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import locale 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20import types 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22from types import ModuleType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 Any, Callable, Dict, IO, Iterable, Iterator, List, Mapping, Optional, 

+

25 Sequence, Tuple, TypeVar, Union, 

+

26) 

+

27 

+

28from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from coverage.exceptions import CoverageException 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30from coverage.types import TArc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 

+

32# In 6.0, the exceptions moved from misc.py to exceptions.py. But a number of 

+

33# other packages were importing the exceptions from misc, so import them here. 

+

34# pylint: disable=unused-wildcard-import 

+

35from coverage.exceptions import * # pylint: disable=wildcard-import 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37ISOLATED_MODULES: Dict[ModuleType, ModuleType] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 

+

39 

+

40def isolate_module(mod: ModuleType) -> ModuleType: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 """Copy a module so that we are isolated from aggressive mocking. 

+

42 

+

43 If a test suite mocks os.path.exists (for example), and then we need to use 

+

44 it during the test, everything will get tangled up if we use their mock. 

+

45 Making a copy of the module when we import it will isolate coverage.py from 

+

46 those complications. 

+

47 """ 

+

48 if mod not in ISOLATED_MODULES: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 new_mod = types.ModuleType(mod.__name__) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 ISOLATED_MODULES[mod] = new_mod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 for name in dir(mod): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 value = getattr(mod, name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 if isinstance(value, types.ModuleType): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 value = isolate_module(value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 setattr(new_mod, name, value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 return ISOLATED_MODULES[mod] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 

+

58os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 

+

60 

+

61class SysModuleSaver: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 """Saves the contents of sys.modules, and removes new modules later.""" 

+

63 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 self.old_modules = set(sys.modules) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66 def restore(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 """Remove any modules imported since this object started.""" 

+

68 new_modules = set(sys.modules) - self.old_modules 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 for m in new_modules: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 del sys.modules[m] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 

+

72 

+

73@contextlib.contextmanager 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74def sys_modules_saved() -> Iterator[None]: 

+

75 """A context manager to remove any modules imported during a block.""" 

+

76 saver = SysModuleSaver() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 finally: 

+

80 saver.restore() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 

+

82 

+

83def import_third_party(modname: str) -> Tuple[ModuleType, bool]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 """Import a third-party module we need, but might not be installed. 

+

85 

+

86 This also cleans out the module after the import, so that coverage won't 

+

87 appear to have imported it. This lets the third party use coverage for 

+

88 their own tests. 

+

89 

+

90 Arguments: 

+

91 modname (str): the name of the module to import. 

+

92 

+

93 Returns: 

+

94 The imported module, and a boolean indicating if the module could be imported. 

+

95 

+

96 If the boolean is False, the module returned is not the one you want: don't use it. 

+

97 

+

98 """ 

+

99 with sys_modules_saved(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 return importlib.import_module(modname), True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 except ImportError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 return sys, False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 

+

105 

+

106def nice_pair(pair: TArc) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 """Make a nice string representation of a pair of numbers. 

+

108 

+

109 If the numbers are equal, just return the number, otherwise return the pair 

+

110 with a dash between them, indicating the range. 

+

111 

+

112 """ 

+

113 start, end = pair 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 if start == end: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 return "%d" % start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 else: 

+

117 return "%d-%d" % (start, end) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 

+

119 

+

120TSelf = TypeVar("TSelf") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121TRetVal = TypeVar("TRetVal") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 

+

123def expensive(fn: Callable[[TSelf], TRetVal]) -> Callable[[TSelf], TRetVal]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 """A decorator to indicate that a method shouldn't be called more than once. 

+

125 

+

126 Normally, this does nothing. During testing, this raises an exception if 

+

127 called more than once. 

+

128 

+

129 """ 

+

130 if env.TESTING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 attr = "_once_" + fn.__name__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 

+

133 def _wrapper(self: TSelf) -> TRetVal: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 if hasattr(self, attr): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 raise AssertionError(f"Shouldn't have called {fn.__name__} more than once") 

+

136 setattr(self, attr, True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 return fn(self) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 return _wrapper 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 else: 

+

140 return fn # pragma: not testing 

+

141 

+

142 

+

143def bool_or_none(b: Any) -> Optional[bool]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 """Return bool(b), but preserve None.""" 

+

145 if b is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 else: 

+

148 return bool(b) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 

+

150 

+

151def join_regex(regexes: Iterable[str]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 """Combine a series of regex strings into one that matches any of them.""" 

+

153 regexes = list(regexes) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 if len(regexes) == 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 return regexes[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 else: 

+

157 return "|".join(f"(?:{r})" for r in regexes) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 

+

159 

+

160def file_be_gone(path: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 """Remove a file, and don't get annoyed if it doesn't exist.""" 

+

162 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 os.remove(path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 except OSError as e: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 if e.errno != errno.ENOENT: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 

+

168 

+

169def ensure_dir(directory: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 """Make sure the directory exists. 

+

171 

+

172 If `directory` is None or empty, do nothing. 

+

173 """ 

+

174 if directory: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 os.makedirs(directory, exist_ok=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 

+

177 

+

178def ensure_dir_for_file(path: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 """Make sure the directory for the path exists.""" 

+

180 ensure_dir(os.path.dirname(path)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 

+

182 

+

183def output_encoding(outfile: Optional[IO[str]] = None) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 """Determine the encoding to use for output written to `outfile` or stdout.""" 

+

185 if outfile is None: 185 ↛ 187line 185 didn't jump to line 1873.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 outfile = sys.stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 encoding = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 getattr(outfile, "encoding", None) or 

+

189 getattr(sys.__stdout__, "encoding", None) or 

+

190 locale.getpreferredencoding() 

+

191 ) 

+

192 return encoding 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 

+

195class Hasher: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 """Hashes Python data for fingerprinting.""" 

+

197 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 self.hash = hashlib.new("sha3_256") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 

+

200 def update(self, v: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 """Add `v` to the hash, recursively if needed.""" 

+

202 self.hash.update(str(type(v)).encode("utf-8")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 if isinstance(v, str): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 self.hash.update(v.encode("utf-8")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 elif isinstance(v, bytes): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 self.hash.update(v) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 elif v is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 elif isinstance(v, (int, float)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 self.hash.update(str(v).encode("utf-8")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 elif isinstance(v, (tuple, list)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 for e in v: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 self.update(e) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 elif isinstance(v, dict): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 keys = v.keys() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 for k in sorted(keys): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 self.update(k) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 self.update(v[k]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 else: 

+

220 for k in dir(v): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 if k.startswith('__'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 a = getattr(v, k) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 if inspect.isroutine(a): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 self.update(k) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 self.update(a) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 self.hash.update(b'.') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 

+

230 def hexdigest(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 """Retrieve the hex digest of the hash.""" 

+

232 return self.hash.hexdigest()[:32] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 

+

234 

+

235def _needs_to_implement(that: Any, func_name: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 """Helper to raise NotImplementedError in interface stubs.""" 

+

237 if hasattr(that, "_coverage_plugin_name"): 237 ↛ 241line 237 didn't jump to line 241, because the condition on line 237 was never false3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

238 thing = "Plugin" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

239 name = that._coverage_plugin_name 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

240 else: 

+

241 thing = "Class" 

+

242 klass = that.__class__ 

+

243 name = f"{klass.__module__}.{klass.__name__}" 

+

244 

+

245 raise NotImplementedError( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

246 f"{thing} {name!r} needs to implement {func_name}()" 

+

247 ) 

+

248 

+

249 

+

250class DefaultValue: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 """A sentinel object to use for unusual default-value needs. 

+

252 

+

253 Construct with a string that will be used as the repr, for display in help 

+

254 and Sphinx output. 

+

255 

+

256 """ 

+

257 def __init__(self, display_as: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 self.display_as = display_as 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 

+

260 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 return self.display_as 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 

+

263 

+

264def substitute_variables(text: str, variables: Mapping[str, str]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 """Substitute ``${VAR}`` variables in `text` with their values. 

+

266 

+

267 Variables in the text can take a number of shell-inspired forms:: 

+

268 

+

269 $VAR 

+

270 ${VAR} 

+

271 ${VAR?} strict: an error if VAR isn't defined. 

+

272 ${VAR-missing} defaulted: "missing" if VAR isn't defined. 

+

273 $$ just a dollar sign. 

+

274 

+

275 `variables` is a dictionary of variable values. 

+

276 

+

277 Returns the resulting text with values substituted. 

+

278 

+

279 """ 

+

280 dollar_pattern = r"""(?x) # Use extended regex syntax 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 \$ # A dollar sign, 

+

282 (?: # then 

+

283 (?P<dollar>\$) | # a dollar sign, or 

+

284 (?P<word1>\w+) | # a plain word, or 

+

285 { # a {-wrapped 

+

286 (?P<word2>\w+) # word, 

+

287 (?: 

+

288 (?P<strict>\?) | # with a strict marker 

+

289 -(?P<defval>[^}]*) # or a default value 

+

290 )? # maybe. 

+

291 } 

+

292 ) 

+

293 """ 

+

294 

+

295 dollar_groups = ('dollar', 'word1', 'word2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 

+

297 def dollar_replace(match: re.Match[str]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 """Called for each $replacement.""" 

+

299 # Only one of the dollar_groups will have matched, just get its text. 

+

300 word = next(g for g in match.group(*dollar_groups) if g) # pragma: always breaks 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 if word == "$": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 return "$" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 elif word in variables: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 return variables[word] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 elif match['strict']: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 msg = f"Variable {word} is undefined: {text!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 raise CoverageException(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 else: 

+

309 return match['defval'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 

+

311 text = re.sub(dollar_pattern, dollar_replace, text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 return text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 

+

314 

+

315def format_local_datetime(dt: datetime.datetime) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 """Return a string with local timezone representing the date. 

+

317 """ 

+

318 return dt.astimezone().strftime('%Y-%m-%d %H:%M %z') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 

+

320 

+

321def import_local_file(modname: str, modfile: Optional[str] = None) -> ModuleType: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 """Import a local file as a module. 

+

323 

+

324 Opens a file in the current directory named `modname`.py, imports it 

+

325 as `modname`, and returns the module object. `modfile` is the file to 

+

326 import if it isn't in the current directory. 

+

327 

+

328 """ 

+

329 if modfile is None: 329 ↛ 331line 329 didn't jump to line 331, because the condition on line 329 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

330 modfile = modname + '.py' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 spec = importlib.util.spec_from_file_location(modname, modfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 assert spec is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 mod = importlib.util.module_from_spec(spec) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 sys.modules[modname] = mod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 assert spec.loader is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 spec.loader.exec_module(mod) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 

+

338 return mod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 

+

340 

+

341def _human_key(s: str) -> List[Union[str, int]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 """Turn a string into a list of string and number chunks. 

+

343 "z23a" -> ["z", 23, "a"] 

+

344 """ 

+

345 def tryint(s: str) -> Union[str, int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 """If `s` is a number, return an int, else `s` unchanged.""" 

+

347 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 return int(s) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 except ValueError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 return s 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 

+

352 return [tryint(c) for c in re.split(r"(\d+)", s)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 

+

354def human_sorted(strings: Iterable[str]) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 """Sort the given iterable of strings the way that humans expect. 

+

356 

+

357 Numeric components in the strings are sorted as numbers. 

+

358 

+

359 Returns the sorted list. 

+

360 

+

361 """ 

+

362 return sorted(strings, key=_human_key) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 

+

364SortableItem = TypeVar("SortableItem", bound=Sequence[Any]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 

+

366def human_sorted_items( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

367 items: Iterable[SortableItem], 

+

368 reverse: bool = False, 

+

369) -> List[SortableItem]: 

+

370 """Sort (string, ...) items the way humans expect. 

+

371 

+

372 The elements of `items` can be any tuple/list. They'll be sorted by the 

+

373 first element (a string), with ties broken by the remaining elements. 

+

374 

+

375 Returns the sorted list of items. 

+

376 """ 

+

377 return sorted(items, key=lambda item: (_human_key(item[0]), *item[1:]), reverse=reverse) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 

+

379 

+

380def plural(n: int, thing: str = "", things: str = "") -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 """Pluralize a word. 

+

382 

+

383 If n is 1, return thing. Otherwise return things, or thing+s. 

+

384 """ 

+

385 if n == 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 return thing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 else: 

+

388 return things or (thing + "s") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_multiproc_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_multiproc_py.html new file mode 100644 index 000000000..49f4ed1a8 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_multiproc_py.html @@ -0,0 +1,203 @@ + + + + + Coverage for coverage/multiproc.py: 80.303% + + + + + +
+
+

+ Coverage for coverage/multiproc.py: + 80.303% +

+ +

+ 58 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Monkey-patching to add multiprocessing support for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6import multiprocessing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7import multiprocessing.process 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

8import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import traceback 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from typing import Any, Dict 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15 

+

16# An attribute that will be set on the module to indicate that it has been 

+

17# monkey-patched. 

+

18PATCHED_MARKER = "_coverage$patched" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20 

+

21OriginalProcess = multiprocessing.process.BaseProcess 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22original_bootstrap = OriginalProcess._bootstrap # type: ignore[attr-defined] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24class ProcessWithCoverage(OriginalProcess): # pylint: disable=abstract-method 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 """A replacement for multiprocess.Process that starts coverage.""" 

+

26 

+

27 def _bootstrap(self, *args, **kwargs): # type: ignore[no-untyped-def] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 """Wrapper around _bootstrap to start coverage.""" 

+

29 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 from coverage import Coverage # avoid circular import 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 cov = Coverage(data_suffix=True, auto_data=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 cov._warn_preimported_source = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 debug = cov._debug 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 assert debug is not None 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 if debug.should("multiproc"): 36 ↛ 37line 36 didn't jump to line 37, because the condition on line 36 was never true3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 debug.write("Calling multiprocessing bootstrap") 

+

38 except Exception: 3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

39 print("Exception during multiprocessing bootstrap init:") 3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

40 traceback.print_exc(file=sys.stdout) 3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

41 sys.stdout.flush() 3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

42 raise 3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

43 try: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 return original_bootstrap(self, *args, **kwargs) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 finally: 

+

46 if debug.should("multiproc"): 46 ↛ 47line 46 didn't jump to line 47, because the condition on line 46 was never true3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 debug.write("Finished multiprocessing bootstrap") 

+

48 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 if debug.should("multiproc"): 50 ↛ 51line 50 didn't jump to line 51, because the condition on line 50 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 debug.write("Saved multiprocessing data") 

+

52 

+

53class Stowaway: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 """An object to pickle, so when it is unpickled, it can apply the monkey-patch.""" 

+

55 def __init__(self, rcfile: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 self.rcfile = rcfile 

+

57 

+

58 def __getstate__(self) -> Dict[str, str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 return {'rcfile': self.rcfile} 

+

60 

+

61 def __setstate__(self, state: Dict[str, str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 patch_multiprocessing(state['rcfile']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 

+

64 

+

65def patch_multiprocessing(rcfile: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 """Monkey-patch the multiprocessing module. 

+

67 

+

68 This enables coverage measurement of processes started by multiprocessing. 

+

69 This involves aggressive monkey-patching. 

+

70 

+

71 `rcfile` is the path to the rcfile being used. 

+

72 

+

73 """ 

+

74 

+

75 if hasattr(multiprocessing, PATCHED_MARKER): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78 OriginalProcess._bootstrap = ProcessWithCoverage._bootstrap # type: ignore[attr-defined] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 

+

80 # Set the value in ProcessWithCoverage that will be pickled into the child 

+

81 # process. 

+

82 os.environ["COVERAGE_RCFILE"] = os.path.abspath(rcfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 

+

84 # When spawning processes rather than forking them, we have no state in the 

+

85 # new process. We sneak in there with a Stowaway: we stuff one of our own 

+

86 # objects into the data that gets pickled and sent to the sub-process. When 

+

87 # the Stowaway is unpickled, it's __setstate__ method is called, which 

+

88 # re-applies the monkey-patch. 

+

89 # Windows only spawns, so this is needed to keep Windows working. 

+

90 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 from multiprocessing import spawn 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 original_get_preparation_data = spawn.get_preparation_data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 except (ImportError, AttributeError): 

+

94 pass 

+

95 else: 

+

96 def get_preparation_data_with_stowaway(name: str) -> Dict[str, Any]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 """Get the original preparation data, and also insert our stowaway.""" 

+

98 d = original_get_preparation_data(name) 

+

99 d['stowaway'] = Stowaway(rcfile) 

+

100 return d 

+

101 

+

102 spawn.get_preparation_data = get_preparation_data_with_stowaway 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 

+

104 setattr(multiprocessing, PATCHED_MARKER, True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_numbits_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_numbits_py.html new file mode 100644 index 000000000..ecdb4e4fc --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_numbits_py.html @@ -0,0 +1,246 @@ + + + + + Coverage for coverage/numbits.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/numbits.py: + 100.000% +

+ +

+ 43 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4""" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5Functions to manipulate packed binary representations of number sets. 

+

6 

+

7To save space, coverage stores sets of line numbers in SQLite using a packed 

+

8binary representation called a numbits. A numbits is a set of positive 

+

9integers. 

+

10 

+

11A numbits is stored as a blob in the database. The exact meaning of the bytes 

+

12in the blobs should be considered an implementation detail that might change in 

+

13the future. Use these functions to work with those binary blobs of data. 

+

14 

+

15""" 

+

16 

+

17from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19import json 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20import sqlite3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22from itertools import zip_longest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from typing import Iterable, List 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25 

+

26def nums_to_numbits(nums: Iterable[int]) -> bytes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 """Convert `nums` into a numbits. 

+

28 

+

29 Arguments: 

+

30 nums: a reusable iterable of integers, the line numbers to store. 

+

31 

+

32 Returns: 

+

33 A binary blob. 

+

34 """ 

+

35 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 nbytes = max(nums) // 8 + 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 except ValueError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 # nums was empty. 

+

39 return b'' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 b = bytearray(nbytes) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 for num in nums: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 b[num//8] |= 1 << num % 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 return bytes(b) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 

+

45 

+

46def numbits_to_nums(numbits: bytes) -> List[int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 """Convert a numbits into a list of numbers. 

+

48 

+

49 Arguments: 

+

50 numbits: a binary blob, the packed number set. 

+

51 

+

52 Returns: 

+

53 A list of ints. 

+

54 

+

55 When registered as a SQLite function by :func:`register_sqlite_functions`, 

+

56 this returns a string, a JSON-encoded list of ints. 

+

57 

+

58 """ 

+

59 nums = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 for byte_i, byte in enumerate(numbits): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 for bit_i in range(8): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 if (byte & (1 << bit_i)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 nums.append(byte_i * 8 + bit_i) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 return nums 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66 

+

67def numbits_union(numbits1: bytes, numbits2: bytes) -> bytes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 """Compute the union of two numbits. 

+

69 

+

70 Returns: 

+

71 A new numbits, the union of `numbits1` and `numbits2`. 

+

72 """ 

+

73 byte_pairs = zip_longest(numbits1, numbits2, fillvalue=0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 return bytes(b1 | b2 for b1, b2 in byte_pairs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 

+

76 

+

77def numbits_intersection(numbits1: bytes, numbits2: bytes) -> bytes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 """Compute the intersection of two numbits. 

+

79 

+

80 Returns: 

+

81 A new numbits, the intersection `numbits1` and `numbits2`. 

+

82 """ 

+

83 byte_pairs = zip_longest(numbits1, numbits2, fillvalue=0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 intersection_bytes = bytes(b1 & b2 for b1, b2 in byte_pairs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 return intersection_bytes.rstrip(b'\0') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 

+

88def numbits_any_intersection(numbits1: bytes, numbits2: bytes) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 """Is there any number that appears in both numbits? 

+

90 

+

91 Determine whether two number sets have a non-empty intersection. This is 

+

92 faster than computing the intersection. 

+

93 

+

94 Returns: 

+

95 A bool, True if there is any number in both `numbits1` and `numbits2`. 

+

96 """ 

+

97 byte_pairs = zip_longest(numbits1, numbits2, fillvalue=0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 return any(b1 & b2 for b1, b2 in byte_pairs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 

+

100 

+

101def num_in_numbits(num: int, numbits: bytes) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 """Does the integer `num` appear in `numbits`? 

+

103 

+

104 Returns: 

+

105 A bool, True if `num` is a member of `numbits`. 

+

106 """ 

+

107 nbyte, nbit = divmod(num, 8) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 if nbyte >= len(numbits): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 return bool(numbits[nbyte] & (1 << nbit)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 

+

112 

+

113def register_sqlite_functions(connection: sqlite3.Connection) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 """ 

+

115 Define numbits functions in a SQLite connection. 

+

116 

+

117 This defines these functions for use in SQLite statements: 

+

118 

+

119 * :func:`numbits_union` 

+

120 * :func:`numbits_intersection` 

+

121 * :func:`numbits_any_intersection` 

+

122 * :func:`num_in_numbits` 

+

123 * :func:`numbits_to_nums` 

+

124 

+

125 `connection` is a :class:`sqlite3.Connection <python:sqlite3.Connection>` 

+

126 object. After creating the connection, pass it to this function to 

+

127 register the numbits functions. Then you can use numbits functions in your 

+

128 queries:: 

+

129 

+

130 import sqlite3 

+

131 from coverage.numbits import register_sqlite_functions 

+

132 

+

133 conn = sqlite3.connect('example.db') 

+

134 register_sqlite_functions(conn) 

+

135 c = conn.cursor() 

+

136 # Kind of a nonsense query: 

+

137 # Find all the files and contexts that executed line 47 in any file: 

+

138 c.execute( 

+

139 "select file_id, context_id from line_bits where num_in_numbits(?, numbits)", 

+

140 (47,) 

+

141 ) 

+

142 """ 

+

143 connection.create_function("numbits_union", 2, numbits_union) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 connection.create_function("numbits_intersection", 2, numbits_intersection) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 connection.create_function("numbits_any_intersection", 2, numbits_any_intersection) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 connection.create_function("num_in_numbits", 2, num_in_numbits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 connection.create_function("numbits_to_nums", 1, lambda b: json.dumps(numbits_to_nums(b))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_parser_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_parser_py.html new file mode 100644 index 000000000..54889baec --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_parser_py.html @@ -0,0 +1,1518 @@ + + + + + Coverage for coverage/parser.py: 99.547% + + + + + +
+
+

+ Coverage for coverage/parser.py: + 99.547% +

+ +

+ 752 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Code parsing for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import ast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import collections 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import token 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import tokenize 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from types import CodeType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 cast, Any, Callable, Dict, Iterable, List, Optional, Sequence, Set, Tuple, 

+

19) 

+

20 

+

21from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.bytecode import code_objects 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.debug import short_stack 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.exceptions import NoSource, NotPython 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.misc import join_regex, nice_pair 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.phystokens import generate_tokens 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.types import Protocol, TArc, TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 

+

30class PythonParser: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 """Parse code to find executable lines, excluded lines, etc. 

+

32 

+

33 This information is all based on static analysis: no code execution is 

+

34 involved. 

+

35 

+

36 """ 

+

37 def __init__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

38 self, 

+

39 text: Optional[str] = None, 

+

40 filename: Optional[str] = None, 

+

41 exclude: Optional[str] = None, 

+

42 ) -> None: 

+

43 """ 

+

44 Source can be provided as `text`, the text itself, or `filename`, from 

+

45 which the text will be read. Excluded lines are those that match 

+

46 `exclude`, a regex string. 

+

47 

+

48 """ 

+

49 assert text or filename, "PythonParser needs either text or filename" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 self.filename = filename or "<code>" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 if text is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 self.text: str = text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 else: 

+

54 from coverage.python import get_python_source 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 self.text = get_python_source(self.filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 except OSError as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 raise NoSource(f"No source for code: '{self.filename}': {err}") from err 

+

59 

+

60 self.exclude = exclude 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 

+

62 # The text lines of the parsed code. 

+

63 self.lines: List[str] = self.text.split('\n') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 # The normalized line numbers of the statements in the code. Exclusions 

+

66 # are taken into account, and statements are adjusted to their first 

+

67 # lines. 

+

68 self.statements: Set[TLineNo] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 

+

70 # The normalized line numbers of the excluded lines in the code, 

+

71 # adjusted to their first lines. 

+

72 self.excluded: Set[TLineNo] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 

+

74 # The raw_* attributes are only used in this class, and in 

+

75 # lab/parser.py to show how this class is working. 

+

76 

+

77 # The line numbers that start statements, as reported by the line 

+

78 # number table in the bytecode. 

+

79 self.raw_statements: Set[TLineNo] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 

+

81 # The raw line numbers of excluded lines of code, as marked by pragmas. 

+

82 self.raw_excluded: Set[TLineNo] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 

+

84 # The line numbers of class definitions. 

+

85 self.raw_classdefs: Set[TLineNo] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 # The line numbers of docstring lines. 

+

88 self.raw_docstrings: Set[TLineNo] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 

+

90 # Internal detail, used by lab/parser.py. 

+

91 self.show_tokens = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 

+

93 # A dict mapping line numbers to lexical statement starts for 

+

94 # multi-line statements. 

+

95 self._multiline: Dict[TLineNo, TLineNo] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 

+

97 # Lazily-created arc data, and missing arc descriptions. 

+

98 self._all_arcs: Optional[Set[TArc]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 self._missing_arc_fragments: Optional[TArcFragments] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 

+

101 def lines_matching(self, *regexes: str) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 """Find the lines matching one of a list of regexes. 

+

103 

+

104 Returns a set of line numbers, the lines that contain a match for one 

+

105 of the regexes in `regexes`. The entire line needn't match, just a 

+

106 part of it. 

+

107 

+

108 """ 

+

109 combined = join_regex(regexes) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 regex_c = re.compile(combined) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 matches = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 for i, ltext in enumerate(self.lines, start=1): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 if regex_c.search(ltext): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 matches.add(i) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 return matches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 

+

117 def _raw_parse(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 """Parse the source to find the interesting facts about its lines. 

+

119 

+

120 A handful of attributes are updated. 

+

121 

+

122 """ 

+

123 # Find lines which match an exclusion pattern. 

+

124 if self.exclude: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 self.raw_excluded = self.lines_matching(self.exclude) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 

+

127 # Tokenize, to find excluded suites, to find docstrings, and to find 

+

128 # multi-line statements. 

+

129 indent = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 exclude_indent = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 excluding = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 excluding_decorators = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 prev_toktype = token.INDENT 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 first_line = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 empty = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 first_on_line = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 nesting = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 

+

139 assert self.text is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 tokgen = generate_tokens(self.text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 for toktype, ttext, (slineno, _), (elineno, _), ltext in tokgen: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 if self.show_tokens: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 print("%10s %5s %-20r %r" % ( 

+

144 tokenize.tok_name.get(toktype, toktype), 

+

145 nice_pair((slineno, elineno)), ttext, ltext 

+

146 )) 

+

147 if toktype == token.INDENT: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 indent += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 elif toktype == token.DEDENT: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 indent -= 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 elif toktype == token.NAME: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 if ttext == 'class': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 # Class definitions look like branches in the bytecode, so 

+

154 # we need to exclude them. The simplest way is to note the 

+

155 # lines with the 'class' keyword. 

+

156 self.raw_classdefs.add(slineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 elif toktype == token.OP: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 if ttext == ':' and nesting == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 should_exclude = (elineno in self.raw_excluded) or excluding_decorators 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 if not excluding and should_exclude: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 # Start excluding a suite. We trigger off of the colon 

+

162 # token so that the #pragma comment will be recognized on 

+

163 # the same line as the colon. 

+

164 self.raw_excluded.add(elineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 exclude_indent = indent 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 excluding = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 excluding_decorators = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 elif ttext == '@' and first_on_line: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 # A decorator. 

+

170 if elineno in self.raw_excluded: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 excluding_decorators = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 if excluding_decorators: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 self.raw_excluded.add(elineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 elif ttext in "([{": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 nesting += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 elif ttext in ")]}": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 nesting -= 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 elif toktype == token.STRING and prev_toktype == token.INDENT: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 # Strings that are first on an indented line are docstrings. 

+

180 # (a trick from trace.py in the stdlib.) This works for 

+

181 # 99.9999% of cases. For the rest (!) see: 

+

182 # http://stackoverflow.com/questions/1769332/x/1769794#1769794 

+

183 self.raw_docstrings.update(range(slineno, elineno+1)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 elif toktype == token.NEWLINE: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 if first_line is not None and elineno != first_line: # type: ignore[unreachable] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 # We're at the end of a line, and we've ended on a 

+

187 # different line than the first line of the statement, 

+

188 # so record a multi-line range. 

+

189 for l in range(first_line, elineno+1): # type: ignore[unreachable] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 self._multiline[l] = first_line 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 first_line = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 first_on_line = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 if ttext.strip() and toktype != tokenize.COMMENT: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 # A non-white-space token. 

+

196 empty = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 if first_line is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 # The token is not white space, and is the first in a statement. 

+

199 first_line = slineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 # Check whether to end an excluded suite. 

+

201 if excluding and indent <= exclude_indent: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 excluding = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 if excluding: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 self.raw_excluded.add(elineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 first_on_line = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 

+

207 prev_toktype = toktype 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 

+

209 # Find the starts of the executable statements. 

+

210 if not empty: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 byte_parser = ByteParser(self.text, filename=self.filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 self.raw_statements.update(byte_parser._find_statements()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 

+

214 # The first line of modules can lie and say 1 always, even if the first 

+

215 # line of code is later. If so, map 1 to the actual first line of the 

+

216 # module. 

+

217 if env.PYBEHAVIOR.module_firstline_1 and self._multiline: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 self._multiline[1] = min(self.raw_statements) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

219 

+

220 def first_line(self, lineno: TLineNo) -> TLineNo: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 """Return the first line number of the statement including `lineno`.""" 

+

222 if lineno < 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 lineno = -self._multiline.get(-lineno, -lineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 else: 

+

225 lineno = self._multiline.get(lineno, lineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 return lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 

+

228 def first_lines(self, linenos: Iterable[TLineNo]) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 """Map the line numbers in `linenos` to the correct first line of the 

+

230 statement. 

+

231 

+

232 Returns a set of the first lines. 

+

233 

+

234 """ 

+

235 return {self.first_line(l) for l in linenos} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 

+

237 def translate_lines(self, lines: Iterable[TLineNo]) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 """Implement `FileReporter.translate_lines`.""" 

+

239 return self.first_lines(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 

+

241 def translate_arcs(self, arcs: Iterable[TArc]) -> Set[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 """Implement `FileReporter.translate_arcs`.""" 

+

243 return {(self.first_line(a), self.first_line(b)) for (a, b) in arcs} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 

+

245 def parse_source(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 """Parse source text to find executable lines, excluded lines, etc. 

+

247 

+

248 Sets the .excluded and .statements attributes, normalized to the first 

+

249 line of multi-line statements. 

+

250 

+

251 """ 

+

252 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 self._raw_parse() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 except (tokenize.TokenError, IndentationError) as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 if hasattr(err, "lineno"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 lineno = err.lineno # IndentationError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 else: 

+

258 lineno = err.args[1][0] # TokenError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 raise NotPython( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 f"Couldn't parse '{self.filename}' as Python source: " + 

+

261 f"{err.args[0]!r} at line {lineno}" 

+

262 ) from err 

+

263 

+

264 self.excluded = self.first_lines(self.raw_excluded) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 

+

266 ignore = self.excluded | self.raw_docstrings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 starts = self.raw_statements - ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 self.statements = self.first_lines(starts) - ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 

+

270 def arcs(self) -> Set[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 """Get information about the arcs available in the code. 

+

272 

+

273 Returns a set of line number pairs. Line numbers have been normalized 

+

274 to the first line of multi-line statements. 

+

275 

+

276 """ 

+

277 if self._all_arcs is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 self._analyze_ast() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 assert self._all_arcs is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 return self._all_arcs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 

+

282 def _analyze_ast(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 """Run the AstArcAnalyzer and save its results. 

+

284 

+

285 `_all_arcs` is the set of arcs in the code. 

+

286 

+

287 """ 

+

288 aaa = AstArcAnalyzer(self.text, self.raw_statements, self._multiline) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 aaa.analyze() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 

+

291 self._all_arcs = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 for l1, l2 in aaa.arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 fl1 = self.first_line(l1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 fl2 = self.first_line(l2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 if fl1 != fl2: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 self._all_arcs.add((fl1, fl2)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 

+

298 self._missing_arc_fragments = aaa.missing_arc_fragments 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 

+

300 def exit_counts(self) -> Dict[TLineNo, int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 """Get a count of exits from that each line. 

+

302 

+

303 Excluded lines are excluded. 

+

304 

+

305 """ 

+

306 exit_counts: Dict[TLineNo, int] = collections.defaultdict(int) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 for l1, l2 in self.arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 if l1 < 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 # Don't ever report -1 as a line number 

+

310 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 if l1 in self.excluded: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 # Don't report excluded lines as line numbers. 

+

313 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 if l2 in self.excluded: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 # Arcs to excluded lines shouldn't count. 

+

316 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 exit_counts[l1] += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 

+

319 # Class definitions have one extra exit, so remove one for each: 

+

320 for l in self.raw_classdefs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 # Ensure key is there: class definitions can include excluded lines. 

+

322 if l in exit_counts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 exit_counts[l] -= 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 

+

325 return exit_counts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 

+

327 def missing_arc_description( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

328 self, 

+

329 start: TLineNo, 

+

330 end: TLineNo, 

+

331 executed_arcs: Optional[Iterable[TArc]] = None, 

+

332 ) -> str: 

+

333 """Provide an English sentence describing a missing arc.""" 

+

334 if self._missing_arc_fragments is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 self._analyze_ast() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 assert self._missing_arc_fragments is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 

+

338 actual_start = start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 

+

340 if ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 executed_arcs and 

+

342 end < 0 and end == -start and 

+

343 (end, start) not in executed_arcs and 

+

344 (end, start) in self._missing_arc_fragments 

+

345 ): 

+

346 # It's a one-line callable, and we never even started it, 

+

347 # and we have a message about not starting it. 

+

348 start, end = end, start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 

+

350 fragment_pairs = self._missing_arc_fragments.get((start, end), [(None, None)]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 

+

352 msgs = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 for smsg, emsg in fragment_pairs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 if emsg is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 if end < 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 # Hmm, maybe we have a one-line callable, let's check. 

+

357 if (-end, end) in self._missing_arc_fragments: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 return self.missing_arc_description(-end, end) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 emsg = "didn't jump to the function exit" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

360 else: 

+

361 emsg = "didn't jump to line {lineno}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 emsg = emsg.format(lineno=end) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 

+

364 msg = f"line {actual_start} {emsg}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 if smsg is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 msg += f", because {smsg.format(lineno=actual_start)}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

367 

+

368 msgs.append(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 

+

370 return " or ".join(msgs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 

+

372 

+

373class ByteParser: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 """Parse bytecode to understand the structure of code.""" 

+

375 

+

376 def __init__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

377 self, 

+

378 text: str, 

+

379 code: Optional[CodeType] = None, 

+

380 filename: Optional[str] = None, 

+

381 ) -> None: 

+

382 self.text = text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

383 if code is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 self.code = code 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

385 else: 

+

386 assert filename is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 self.code = compile(text, filename, "exec", dont_inherit=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 except SyntaxError as synerr: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 raise NotPython( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 "Couldn't parse '%s' as Python source: '%s' at line %d" % ( 

+

392 filename, synerr.msg, synerr.lineno or 0 

+

393 ) 

+

394 ) from synerr 

+

395 

+

396 def child_parsers(self) -> Iterable[ByteParser]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 """Iterate over all the code objects nested within this one. 

+

398 

+

399 The iteration includes `self` as its first value. 

+

400 

+

401 """ 

+

402 return (ByteParser(self.text, code=c) for c in code_objects(self.code)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 

+

404 def _line_numbers(self) -> Iterable[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 """Yield the line numbers possible in this code object. 

+

406 

+

407 Uses co_lnotab described in Python/compile.c to find the 

+

408 line numbers. Produces a sequence: l0, l1, ... 

+

409 """ 

+

410 if hasattr(self.code, "co_lines"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 for _, _, line in self.code.co_lines(): 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

412 if line: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

413 yield line 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

414 else: 

+

415 # Adapted from dis.py in the standard library. 

+

416 byte_increments = self.code.co_lnotab[0::2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 line_increments = self.code.co_lnotab[1::2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

418 

+

419 last_line_num = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

420 line_num = self.code.co_firstlineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

421 byte_num = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 for byte_incr, line_incr in zip(byte_increments, line_increments): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

423 if byte_incr: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 if line_num != last_line_num: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 yield line_num 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 last_line_num = line_num 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 byte_num += byte_incr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 if env.PYBEHAVIOR.negative_lnotab and line_incr >= 0x80: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 line_incr -= 0x100 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 line_num += line_incr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 if line_num != last_line_num: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 yield line_num 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 

+

434 def _find_statements(self) -> Iterable[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

435 """Find the statements in `self.code`. 

+

436 

+

437 Produce a sequence of line numbers that start statements. Recurses 

+

438 into all code objects reachable from `self.code`. 

+

439 

+

440 """ 

+

441 for bp in self.child_parsers(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 # Get all of the lineno information from this code. 

+

443 yield from bp._line_numbers() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444 

+

445 

+

446# 

+

447# AST analysis 

+

448# 

+

449 

+

450class ArcStart(collections.namedtuple("Arc", "lineno, cause")): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 """The information needed to start an arc. 

+

452 

+

453 `lineno` is the line number the arc starts from. 

+

454 

+

455 `cause` is an English text fragment used as the `startmsg` for 

+

456 AstArcAnalyzer.missing_arc_fragments. It will be used to describe why an 

+

457 arc wasn't executed, so should fit well into a sentence of the form, 

+

458 "Line 17 didn't run because {cause}." The fragment can include "{lineno}" 

+

459 to have `lineno` interpolated into it. 

+

460 

+

461 """ 

+

462 def __new__(cls, lineno: TLineNo, cause: Optional[str] = None) -> ArcStart: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 return super().__new__(cls, lineno, cause) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

464 

+

465 

+

466class TAddArcFn(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

467 """The type for AstArcAnalyzer.add_arc().""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 def __call__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

469 self, 

+

470 start: TLineNo, 

+

471 end: TLineNo, 

+

472 smsg: Optional[str] = None, 

+

473 emsg: Optional[str] = None, 

+

474 ) -> None: 

+

475 ... 

+

476 

+

477TArcFragments = Dict[TArc, List[Tuple[Optional[str], Optional[str]]]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 

+

479class Block: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 """ 

+

481 Blocks need to handle various exiting statements in their own ways. 

+

482 

+

483 All of these methods take a list of exits, and a callable `add_arc` 

+

484 function that they can use to add arcs if needed. They return True if the 

+

485 exits are handled, or False if the search should continue up the block 

+

486 stack. 

+

487 """ 

+

488 # pylint: disable=unused-argument 

+

489 def process_break_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 """Process break exits.""" 

+

491 # Because break can only appear in loops, and most subclasses 

+

492 # implement process_break_exits, this function is never reached. 

+

493 raise AssertionError 

+

494 

+

495 def process_continue_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

496 """Process continue exits.""" 

+

497 # Because continue can only appear in loops, and most subclasses 

+

498 # implement process_continue_exits, this function is never reached. 

+

499 raise AssertionError 

+

500 

+

501 def process_raise_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 """Process raise exits.""" 

+

503 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 

+

505 def process_return_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 """Process return exits.""" 

+

507 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 

+

509 

+

510class LoopBlock(Block): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 """A block on the block stack representing a `for` or `while` loop.""" 

+

512 def __init__(self, start: TLineNo) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 # The line number where the loop starts. 

+

514 self.start = start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 # A set of ArcStarts, the arcs from break statements exiting this loop. 

+

516 self.break_exits: Set[ArcStart] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

517 

+

518 def process_break_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

519 self.break_exits.update(exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

520 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

521 

+

522 def process_continue_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 for xit in exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

524 add_arc(xit.lineno, self.start, xit.cause) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

525 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

526 

+

527 

+

528class FunctionBlock(Block): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

529 """A block on the block stack representing a function definition.""" 

+

530 def __init__(self, start: TLineNo, name: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

531 # The line number where the function starts. 

+

532 self.start = start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 # The name of the function. 

+

534 self.name = name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 

+

536 def process_raise_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

537 for xit in exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 add_arc( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 xit.lineno, -self.start, xit.cause, 

+

540 f"didn't except from function {self.name!r}", 

+

541 ) 

+

542 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

543 

+

544 def process_return_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

545 for xit in exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 add_arc( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 xit.lineno, -self.start, xit.cause, 

+

548 f"didn't return from function {self.name!r}", 

+

549 ) 

+

550 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 

+

552 

+

553class TryBlock(Block): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 """A block on the block stack representing a `try` block.""" 

+

555 def __init__(self, handler_start: Optional[TLineNo], final_start: Optional[TLineNo]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

556 # The line number of the first "except" handler, if any. 

+

557 self.handler_start = handler_start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

558 # The line number of the "finally:" clause, if any. 

+

559 self.final_start = final_start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

560 

+

561 # The ArcStarts for breaks/continues/returns/raises inside the "try:" 

+

562 # that need to route through the "finally:" clause. 

+

563 self.break_from: Set[ArcStart] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

564 self.continue_from: Set[ArcStart] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 self.raise_from: Set[ArcStart] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 self.return_from: Set[ArcStart] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

567 

+

568 def process_break_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

569 if self.final_start is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 self.break_from.update(exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

571 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 

+

574 def process_continue_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

575 if self.final_start is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

576 self.continue_from.update(exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

577 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

578 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 

+

580 def process_raise_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 if self.handler_start is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

582 for xit in exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

583 add_arc(xit.lineno, self.handler_start, xit.cause) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

584 else: 

+

585 assert self.final_start is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

586 self.raise_from.update(exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

587 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 

+

589 def process_return_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

590 if self.final_start is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 self.return_from.update(exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

592 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

594 

+

595 

+

596class WithBlock(Block): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

597 """A block on the block stack representing a `with` block.""" 

+

598 def __init__(self, start: TLineNo) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

599 # We only ever use this block if it is needed, so that we don't have to 

+

600 # check this setting in all the methods. 

+

601 assert env.PYBEHAVIOR.exit_through_with 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

602 

+

603 # The line number of the with statement. 

+

604 self.start = start 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

605 

+

606 # The ArcStarts for breaks/continues/returns/raises inside the "with:" 

+

607 # that need to go through the with-statement while exiting. 

+

608 self.break_from: Set[ArcStart] = set() 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

609 self.continue_from: Set[ArcStart] = set() 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

610 self.return_from: Set[ArcStart] = set() 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

611 

+

612 def _process_exits( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

613 self, 

+

614 exits: Set[ArcStart], 

+

615 add_arc: TAddArcFn, 

+

616 from_set: Optional[Set[ArcStart]] = None, 

+

617 ) -> bool: 

+

618 """Helper to process the four kinds of exits.""" 

+

619 for xit in exits: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

620 add_arc(xit.lineno, self.start, xit.cause) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

621 if from_set is not None: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

622 from_set.update(exits) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

623 return True 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

624 

+

625 def process_break_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

626 return self._process_exits(exits, add_arc, self.break_from) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

627 

+

628 def process_continue_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

629 return self._process_exits(exits, add_arc, self.continue_from) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

630 

+

631 def process_raise_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

632 return self._process_exits(exits, add_arc) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

633 

+

634 def process_return_exits(self, exits: Set[ArcStart], add_arc: TAddArcFn) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

635 return self._process_exits(exits, add_arc, self.return_from) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

636 

+

637 

+

638class NodeList(ast.AST): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 """A synthetic fictitious node, containing a sequence of nodes. 

+

640 

+

641 This is used when collapsing optimized if-statements, to represent the 

+

642 unconditional execution of one of the clauses. 

+

643 

+

644 """ 

+

645 def __init__(self, body: Sequence[ast.AST]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 self.body = body 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

647 self.lineno = body[0].lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

648 

+

649# TODO: some add_arcs methods here don't add arcs, they return them. Rename them. 

+

650# TODO: the cause messages have too many commas. 

+

651# TODO: Shouldn't the cause messages join with "and" instead of "or"? 

+

652 

+

653def _make_expression_code_method(noun: str) -> Callable[[AstArcAnalyzer, ast.AST], None]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

654 """A function to make methods for expression-based callable _code_object__ methods.""" 

+

655 def _code_object__expression_callable(self: AstArcAnalyzer, node: ast.AST) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

656 start = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 self.add_arc(-start, start, None, f"didn't run the {noun} on line {start}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

658 self.add_arc(start, -start, None, f"didn't finish the {noun} on line {start}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

659 return _code_object__expression_callable 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

660 

+

661 

+

662class AstArcAnalyzer: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

663 """Analyze source text with an AST to find executable code paths.""" 

+

664 

+

665 def __init__( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

666 self, 

+

667 text: str, 

+

668 statements: Set[TLineNo], 

+

669 multiline: Dict[TLineNo, TLineNo], 

+

670 ) -> None: 

+

671 self.root_node = ast.parse(text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

672 # TODO: I think this is happening in too many places. 

+

673 self.statements = {multiline.get(l, l) for l in statements} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

674 self.multiline = multiline 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 

+

676 # Turn on AST dumps with an environment variable. 

+

677 # $set_env.py: COVERAGE_AST_DUMP - Dump the AST nodes when parsing code. 

+

678 dump_ast = bool(int(os.environ.get("COVERAGE_AST_DUMP", 0))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 

+

680 if dump_ast: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

681 # Dump the AST so that failing tests have helpful output. 

+

682 print(f"Statements: {self.statements}") 

+

683 print(f"Multiline map: {self.multiline}") 

+

684 ast_dump(self.root_node) 

+

685 

+

686 self.arcs: Set[TArc] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

687 

+

688 # A map from arc pairs to a list of pairs of sentence fragments: 

+

689 # { (start, end): [(startmsg, endmsg), ...], } 

+

690 # 

+

691 # For an arc from line 17, they should be usable like: 

+

692 # "Line 17 {endmsg}, because {startmsg}" 

+

693 self.missing_arc_fragments: TArcFragments = collections.defaultdict(list) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

694 self.block_stack: List[Block] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

695 

+

696 # $set_env.py: COVERAGE_TRACK_ARCS - Trace possible arcs added while parsing code. 

+

697 self.debug = bool(int(os.environ.get("COVERAGE_TRACK_ARCS", 0))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 

+

699 def analyze(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

700 """Examine the AST tree from `root_node` to determine possible arcs. 

+

701 

+

702 This sets the `arcs` attribute to be a set of (from, to) line number 

+

703 pairs. 

+

704 

+

705 """ 

+

706 for node in ast.walk(self.root_node): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

707 node_name = node.__class__.__name__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

708 code_object_handler = getattr(self, "_code_object__" + node_name, None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

709 if code_object_handler is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 code_object_handler(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

711 

+

712 def add_arc( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

713 self, 

+

714 start: TLineNo, 

+

715 end: TLineNo, 

+

716 smsg: Optional[str] = None, 

+

717 emsg: Optional[str] = None, 

+

718 ) -> None: 

+

719 """Add an arc, including message fragments to use if it is missing.""" 

+

720 if self.debug: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

721 print(f"\nAdding possible arc: ({start}, {end}): {smsg!r}, {emsg!r}") 

+

722 print(short_stack(limit=10)) 

+

723 self.arcs.add((start, end)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

724 

+

725 if smsg is not None or emsg is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

726 self.missing_arc_fragments[(start, end)].append((smsg, emsg)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

727 

+

728 def nearest_blocks(self) -> Iterable[Block]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

729 """Yield the blocks in nearest-to-farthest order.""" 

+

730 return reversed(self.block_stack) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

731 

+

732 def line_for_node(self, node: ast.AST) -> TLineNo: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

733 """What is the right line number to use for this node? 

+

734 

+

735 This dispatches to _line__Node functions where needed. 

+

736 

+

737 """ 

+

738 node_name = node.__class__.__name__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

739 handler = cast( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

740 Optional[Callable[[ast.AST], TLineNo]], 

+

741 getattr(self, "_line__" + node_name, None) 

+

742 ) 

+

743 if handler is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

744 return handler(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

745 else: 

+

746 return node.lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

747 

+

748 def _line_decorated(self, node: ast.FunctionDef) -> TLineNo: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

749 """Compute first line number for things that can be decorated (classes and functions).""" 

+

750 lineno = node.lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

751 if env.PYBEHAVIOR.trace_decorated_def or env.PYBEHAVIOR.def_ast_no_decorator: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

752 if node.decorator_list: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

753 lineno = node.decorator_list[0].lineno 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

754 return lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

755 

+

756 def _line__Assign(self, node: ast.Assign) -> TLineNo: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 return self.line_for_node(node.value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

758 

+

759 _line__ClassDef = _line_decorated 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

760 

+

761 def _line__Dict(self, node: ast.Dict) -> TLineNo: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

762 if node.keys: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

763 if node.keys[0] is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

764 return node.keys[0].lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

765 else: 

+

766 # Unpacked dict literals `{**{'a':1}}` have None as the key, 

+

767 # use the value in that case. 

+

768 return node.values[0].lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

769 else: 

+

770 return node.lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

771 

+

772 _line__FunctionDef = _line_decorated 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

773 _line__AsyncFunctionDef = _line_decorated 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

774 

+

775 def _line__List(self, node: ast.List) -> TLineNo: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

776 if node.elts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

777 return self.line_for_node(node.elts[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

778 else: 

+

779 return node.lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

780 

+

781 def _line__Module(self, node: ast.Module) -> TLineNo: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

782 if env.PYBEHAVIOR.module_firstline_1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

783 return 1 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

784 elif node.body: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

785 return self.line_for_node(node.body[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

786 else: 

+

787 # Empty modules have no line number, they always start at 1. 

+

788 return 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

789 

+

790 # The node types that just flow to the next node with no complications. 

+

791 OK_TO_DEFAULT = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

792 "AnnAssign", "Assign", "Assert", "AugAssign", "Delete", "Expr", "Global", 

+

793 "Import", "ImportFrom", "Nonlocal", "Pass", 

+

794 } 

+

795 

+

796 def add_arcs(self, node: ast.AST) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

797 """Add the arcs for `node`. 

+

798 

+

799 Return a set of ArcStarts, exits from this node to the next. Because a 

+

800 node represents an entire sub-tree (including its children), the exits 

+

801 from a node can be arbitrarily complex:: 

+

802 

+

803 if something(1): 

+

804 if other(2): 

+

805 doit(3) 

+

806 else: 

+

807 doit(5) 

+

808 

+

809 There are two exits from line 1: they start at line 3 and line 5. 

+

810 

+

811 """ 

+

812 node_name = node.__class__.__name__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

813 handler = cast( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

814 Optional[Callable[[ast.AST], Set[ArcStart]]], 

+

815 getattr(self, "_handle__" + node_name, None) 

+

816 ) 

+

817 if handler is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

818 return handler(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

819 else: 

+

820 # No handler: either it's something that's ok to default (a simple 

+

821 # statement), or it's something we overlooked. 

+

822 if env.TESTING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

823 if node_name not in self.OK_TO_DEFAULT: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

824 raise RuntimeError(f"*** Unhandled: {node}") # pragma: only failure 

+

825 

+

826 # Default for simple statements: one exit from this node. 

+

827 return {ArcStart(self.line_for_node(node))} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

828 

+

829 def add_body_arcs( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

830 self, 

+

831 body: Sequence[ast.AST], 

+

832 from_start: Optional[ArcStart] = None, 

+

833 prev_starts: Optional[Set[ArcStart]] = None 

+

834 ) -> Set[ArcStart]: 

+

835 """Add arcs for the body of a compound statement. 

+

836 

+

837 `body` is the body node. `from_start` is a single `ArcStart` that can 

+

838 be the previous line in flow before this body. `prev_starts` is a set 

+

839 of ArcStarts that can be the previous line. Only one of them should be 

+

840 given. 

+

841 

+

842 Returns a set of ArcStarts, the exits from this body. 

+

843 

+

844 """ 

+

845 if prev_starts is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

846 assert from_start is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

847 prev_starts = {from_start} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

848 for body_node in body: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

849 lineno = self.line_for_node(body_node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

850 first_line = self.multiline.get(lineno, lineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

851 if first_line not in self.statements: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

852 maybe_body_node = self.find_non_missing_node(body_node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

853 if maybe_body_node is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

854 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

855 body_node = maybe_body_node 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

856 lineno = self.line_for_node(body_node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

857 for prev_start in prev_starts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

858 self.add_arc(prev_start.lineno, lineno, prev_start.cause) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

859 prev_starts = self.add_arcs(body_node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

860 return prev_starts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

861 

+

862 def find_non_missing_node(self, node: ast.AST) -> Optional[ast.AST]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

863 """Search `node` looking for a child that has not been optimized away. 

+

864 

+

865 This might return the node you started with, or it will work recursively 

+

866 to find a child node in self.statements. 

+

867 

+

868 Returns a node, or None if none of the node remains. 

+

869 

+

870 """ 

+

871 # This repeats work just done in add_body_arcs, but this duplication 

+

872 # means we can avoid a function call in the 99.9999% case of not 

+

873 # optimizing away statements. 

+

874 lineno = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

875 first_line = self.multiline.get(lineno, lineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

876 if first_line in self.statements: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

877 return node 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

878 

+

879 missing_fn = cast( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

880 Optional[Callable[[ast.AST], Optional[ast.AST]]], 

+

881 getattr(self, "_missing__" + node.__class__.__name__, None) 

+

882 ) 

+

883 if missing_fn is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

884 ret_node = missing_fn(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

885 else: 

+

886 ret_node = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

887 return ret_node 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

888 

+

889 # Missing nodes: _missing__* 

+

890 # 

+

891 # Entire statements can be optimized away by Python. They will appear in 

+

892 # the AST, but not the bytecode. These functions are called (by 

+

893 # find_non_missing_node) to find a node to use instead of the missing 

+

894 # node. They can return None if the node should truly be gone. 

+

895 

+

896 def _missing__If(self, node: ast.If) -> Optional[ast.AST]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

897 # If the if-node is missing, then one of its children might still be 

+

898 # here, but not both. So return the first of the two that isn't missing. 

+

899 # Use a NodeList to hold the clauses as a single node. 

+

900 non_missing = self.find_non_missing_node(NodeList(node.body)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

901 if non_missing: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

902 return non_missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

903 if node.orelse: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

904 return self.find_non_missing_node(NodeList(node.orelse)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

905 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

906 

+

907 def _missing__NodeList(self, node: NodeList) -> Optional[ast.AST]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

908 # A NodeList might be a mixture of missing and present nodes. Find the 

+

909 # ones that are present. 

+

910 non_missing_children = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

911 for child in node.body: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

912 maybe_child = self.find_non_missing_node(child) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

913 if maybe_child is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

914 non_missing_children.append(maybe_child) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

915 

+

916 # Return the simplest representation of the present children. 

+

917 if not non_missing_children: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

918 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

919 if len(non_missing_children) == 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

920 return non_missing_children[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

921 return NodeList(non_missing_children) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

922 

+

923 def _missing__While(self, node: ast.While) -> Optional[ast.AST]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

924 body_nodes = self.find_non_missing_node(NodeList(node.body)) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

925 if not body_nodes: 925 ↛ 926line 925 didn't jump to line 926, because the condition on line 925 was never true3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

926 return None 

+

927 # Make a synthetic While-true node. 

+

928 new_while = ast.While() 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

929 new_while.lineno = body_nodes.lineno 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

930 new_while.test = ast.Name() 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

931 new_while.test.lineno = body_nodes.lineno 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

932 new_while.test.id = "True" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

933 assert hasattr(body_nodes, "body") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

934 new_while.body = body_nodes.body 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

935 new_while.orelse = [] 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

936 return new_while 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

937 

+

938 def is_constant_expr(self, node: ast.AST) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

939 """Is this a compile-time constant?""" 

+

940 node_name = node.__class__.__name__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

941 if node_name in ["Constant", "NameConstant", "Num"]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

942 return "Num" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

943 elif isinstance(node, ast.Name): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

944 if node.id in ["True", "False", "None", "__debug__"]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

945 return "Name" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

946 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

947 

+

948 # In the fullness of time, these might be good tests to write: 

+

949 # while EXPR: 

+

950 # while False: 

+

951 # listcomps hidden deep in other expressions 

+

952 # listcomps hidden in lists: x = [[i for i in range(10)]] 

+

953 # nested function definitions 

+

954 

+

955 # Exit processing: process_*_exits 

+

956 # 

+

957 # These functions process the four kinds of jump exits: break, continue, 

+

958 # raise, and return. To figure out where an exit goes, we have to look at 

+

959 # the block stack context. For example, a break will jump to the nearest 

+

960 # enclosing loop block, or the nearest enclosing finally block, whichever 

+

961 # is nearer. 

+

962 

+

963 def process_break_exits(self, exits: Set[ArcStart]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

964 """Add arcs due to jumps from `exits` being breaks.""" 

+

965 for block in self.nearest_blocks(): # pragma: always breaks 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

966 if block.process_break_exits(exits, self.add_arc): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

967 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

968 

+

969 def process_continue_exits(self, exits: Set[ArcStart]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

970 """Add arcs due to jumps from `exits` being continues.""" 

+

971 for block in self.nearest_blocks(): # pragma: always breaks 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

972 if block.process_continue_exits(exits, self.add_arc): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

973 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

974 

+

975 def process_raise_exits(self, exits: Set[ArcStart]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

976 """Add arcs due to jumps from `exits` being raises.""" 

+

977 for block in self.nearest_blocks(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

978 if block.process_raise_exits(exits, self.add_arc): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

979 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

980 

+

981 def process_return_exits(self, exits: Set[ArcStart]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

982 """Add arcs due to jumps from `exits` being returns.""" 

+

983 for block in self.nearest_blocks(): # pragma: always breaks 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

984 if block.process_return_exits(exits, self.add_arc): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

985 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

986 

+

987 # Handlers: _handle__* 

+

988 # 

+

989 # Each handler deals with a specific AST node type, dispatched from 

+

990 # add_arcs. Handlers return the set of exits from that node, and can 

+

991 # also call self.add_arc to record arcs they find. These functions mirror 

+

992 # the Python semantics of each syntactic construct. See the docstring 

+

993 # for add_arcs to understand the concept of exits from a node. 

+

994 # 

+

995 # Every node type that represents a statement should have a handler, or it 

+

996 # should be listed in OK_TO_DEFAULT. 

+

997 

+

998 def _handle__Break(self, node: ast.Break) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

999 here = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1000 break_start = ArcStart(here, cause="the break on line {lineno} wasn't executed") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1001 self.process_break_exits({break_start}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1002 return set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1003 

+

1004 def _handle_decorated(self, node: ast.FunctionDef) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1005 """Add arcs for things that can be decorated (classes and functions).""" 

+

1006 main_line: TLineNo = node.lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1007 last: Optional[TLineNo] = node.lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1008 decs = node.decorator_list 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1009 if decs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1010 if env.PYBEHAVIOR.trace_decorated_def or env.PYBEHAVIOR.def_ast_no_decorator: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1011 last = None 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1012 for dec_node in decs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1013 dec_start = self.line_for_node(dec_node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1014 if last is not None and dec_start != last: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1015 self.add_arc(last, dec_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1016 last = dec_start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1017 assert last is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1018 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1019 self.add_arc(last, main_line) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1020 last = main_line 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1021 if env.PYBEHAVIOR.trace_decorator_line_again: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1022 for top, bot in zip(decs, decs[1:]): 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1023 self.add_arc(self.line_for_node(bot), self.line_for_node(top)) 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1024 self.add_arc(self.line_for_node(decs[0]), main_line) 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1025 self.add_arc(main_line, self.line_for_node(decs[-1])) 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1026 # The definition line may have been missed, but we should have it 

+

1027 # in `self.statements`. For some constructs, `line_for_node` is 

+

1028 # not what we'd think of as the first line in the statement, so map 

+

1029 # it to the first one. 

+

1030 if node.body: 1030 ↛ 1038line 1030 didn't jump to line 1038, because the condition on line 1030 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1031 body_start = self.line_for_node(node.body[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1032 body_start = self.multiline.get(body_start, body_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1033 for lineno in range(last+1, body_start): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1034 if lineno in self.statements: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1035 self.add_arc(last, lineno) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

1036 last = lineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

1037 # The body is handled in collect_arcs. 

+

1038 assert last is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1039 return {ArcStart(last)} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1040 

+

1041 _handle__ClassDef = _handle_decorated 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1042 

+

1043 def _handle__Continue(self, node: ast.Continue) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1044 here = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1045 continue_start = ArcStart(here, cause="the continue on line {lineno} wasn't executed") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1046 self.process_continue_exits({continue_start}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1047 return set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1048 

+

1049 def _handle__For(self, node: ast.For) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1050 start = self.line_for_node(node.iter) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1051 self.block_stack.append(LoopBlock(start=start)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1052 from_start = ArcStart(start, cause="the loop on line {lineno} never started") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1053 exits = self.add_body_arcs(node.body, from_start=from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1054 # Any exit from the body will go back to the top of the loop. 

+

1055 for xit in exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1056 self.add_arc(xit.lineno, start, xit.cause) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1057 my_block = self.block_stack.pop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1058 assert isinstance(my_block, LoopBlock) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1059 exits = my_block.break_exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1060 from_start = ArcStart(start, cause="the loop on line {lineno} didn't complete") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1061 if node.orelse: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1062 else_exits = self.add_body_arcs(node.orelse, from_start=from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1063 exits |= else_exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1064 else: 

+

1065 # No else clause: exit from the for line. 

+

1066 exits.add(from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1067 return exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1068 

+

1069 _handle__AsyncFor = _handle__For 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1070 

+

1071 _handle__FunctionDef = _handle_decorated 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1072 _handle__AsyncFunctionDef = _handle_decorated 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1073 

+

1074 def _handle__If(self, node: ast.If) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1075 start = self.line_for_node(node.test) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1076 from_start = ArcStart(start, cause="the condition on line {lineno} was never true") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1077 exits = self.add_body_arcs(node.body, from_start=from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1078 from_start = ArcStart(start, cause="the condition on line {lineno} was never false") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1079 exits |= self.add_body_arcs(node.orelse, from_start=from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1080 return exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1081 

+

1082 if sys.version_info >= (3, 10): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1083 def _handle__Match(self, node: ast.Match) -> Set[ArcStart]: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1084 start = self.line_for_node(node) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1085 last_start = start 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1086 exits = set() 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1087 had_wildcard = False 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1088 for case in node.cases: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1089 case_start = self.line_for_node(case.pattern) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1090 pattern = case.pattern 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1091 while isinstance(pattern, ast.MatchOr): 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1092 pattern = pattern.patterns[-1] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1093 if isinstance(pattern, ast.MatchAs): 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1094 had_wildcard = True 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1095 self.add_arc(last_start, case_start, "the pattern on line {lineno} always matched") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1096 from_start = ArcStart( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1097 case_start, 

+

1098 cause="the pattern on line {lineno} never matched", 

+

1099 ) 

+

1100 exits |= self.add_body_arcs(case.body, from_start=from_start) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1101 last_start = case_start 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1102 if not had_wildcard: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1103 exits.add(from_start) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1104 return exits 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1105 

+

1106 def _handle__NodeList(self, node: NodeList) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1107 start = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1108 exits = self.add_body_arcs(node.body, from_start=ArcStart(start)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1109 return exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1110 

+

1111 def _handle__Raise(self, node: ast.Raise) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1112 here = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1113 raise_start = ArcStart(here, cause="the raise on line {lineno} wasn't executed") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1114 self.process_raise_exits({raise_start}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1115 # `raise` statement jumps away, no exits from here. 

+

1116 return set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1117 

+

1118 def _handle__Return(self, node: ast.Return) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1119 here = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1120 return_start = ArcStart(here, cause="the return on line {lineno} wasn't executed") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1121 self.process_return_exits({return_start}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1122 # `return` statement jumps away, no exits from here. 

+

1123 return set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1124 

+

1125 def _handle__Try(self, node: ast.Try) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1126 if node.handlers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1127 handler_start = self.line_for_node(node.handlers[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1128 else: 

+

1129 handler_start = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1130 

+

1131 if node.finalbody: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1132 final_start = self.line_for_node(node.finalbody[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1133 else: 

+

1134 final_start = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1135 

+

1136 # This is true by virtue of Python syntax: have to have either except 

+

1137 # or finally, or both. 

+

1138 assert handler_start is not None or final_start is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1139 try_block = TryBlock(handler_start, final_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1140 self.block_stack.append(try_block) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1141 

+

1142 start = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1143 exits = self.add_body_arcs(node.body, from_start=ArcStart(start)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1144 

+

1145 # We're done with the `try` body, so this block no longer handles 

+

1146 # exceptions. We keep the block so the `finally` clause can pick up 

+

1147 # flows from the handlers and `else` clause. 

+

1148 if node.finalbody: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1149 try_block.handler_start = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1150 if node.handlers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1151 # If there are `except` clauses, then raises in the try body 

+

1152 # will already jump to them. Start this set over for raises in 

+

1153 # `except` and `else`. 

+

1154 try_block.raise_from = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1155 else: 

+

1156 self.block_stack.pop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1157 

+

1158 handler_exits: Set[ArcStart] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1159 

+

1160 if node.handlers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1161 last_handler_start: Optional[TLineNo] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1162 for handler_node in node.handlers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1163 handler_start = self.line_for_node(handler_node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1164 if last_handler_start is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1165 self.add_arc(last_handler_start, handler_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1166 last_handler_start = handler_start 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1167 from_cause = "the exception caught by line {lineno} didn't happen" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1168 from_start = ArcStart(handler_start, cause=from_cause) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1169 handler_exits |= self.add_body_arcs(handler_node.body, from_start=from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1170 

+

1171 if node.orelse: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1172 exits = self.add_body_arcs(node.orelse, prev_starts=exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1173 

+

1174 exits |= handler_exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1175 

+

1176 if node.finalbody: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1177 self.block_stack.pop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1178 final_from = ( # You can get to the `finally` clause from: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1179 exits | # the exits of the body or `else` clause, 

+

1180 try_block.break_from | # or a `break`, 

+

1181 try_block.continue_from | # or a `continue`, 

+

1182 try_block.raise_from | # or a `raise`, 

+

1183 try_block.return_from # or a `return`. 

+

1184 ) 

+

1185 

+

1186 final_exits = self.add_body_arcs(node.finalbody, prev_starts=final_from) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1187 

+

1188 if try_block.break_from: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1189 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1190 for break_line in try_block.break_from: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1191 lineno = break_line.lineno 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1192 cause = break_line.cause.format(lineno=lineno) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1193 for final_exit in final_exits: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1194 self.add_arc(final_exit.lineno, lineno, cause) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1195 breaks = try_block.break_from 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1196 else: 

+

1197 breaks = self._combine_finally_starts(try_block.break_from, final_exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

1198 self.process_break_exits(breaks) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1199 

+

1200 if try_block.continue_from: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1201 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1202 for continue_line in try_block.continue_from: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1203 lineno = continue_line.lineno 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1204 cause = continue_line.cause.format(lineno=lineno) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1205 for final_exit in final_exits: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1206 self.add_arc(final_exit.lineno, lineno, cause) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1207 continues = try_block.continue_from 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1208 else: 

+

1209 continues = self._combine_finally_starts(try_block.continue_from, final_exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

1210 self.process_continue_exits(continues) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1211 

+

1212 if try_block.raise_from: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1213 self.process_raise_exits( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1214 self._combine_finally_starts(try_block.raise_from, final_exits) 

+

1215 ) 

+

1216 

+

1217 if try_block.return_from: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1218 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1219 for return_line in try_block.return_from: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1220 lineno = return_line.lineno 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1221 cause = return_line.cause.format(lineno=lineno) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1222 for final_exit in final_exits: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1223 self.add_arc(final_exit.lineno, lineno, cause) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1224 returns = try_block.return_from 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1225 else: 

+

1226 returns = self._combine_finally_starts(try_block.return_from, final_exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

1227 self.process_return_exits(returns) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1228 

+

1229 if exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1230 # The finally clause's exits are only exits for the try block 

+

1231 # as a whole if the try block had some exits to begin with. 

+

1232 exits = final_exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1233 

+

1234 return exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1235 

+

1236 def _combine_finally_starts(self, starts: Set[ArcStart], exits: Set[ArcStart]) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1237 """Helper for building the cause of `finally` branches. 

+

1238 

+

1239 "finally" clauses might not execute their exits, and the causes could 

+

1240 be due to a failure to execute any of the exits in the try block. So 

+

1241 we use the causes from `starts` as the causes for `exits`. 

+

1242 """ 

+

1243 causes = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1244 for start in sorted(starts): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1245 if start.cause is not None: 1245 ↛ 1244line 1245 didn't jump to line 1244, because the condition on line 1245 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1246 causes.append(start.cause.format(lineno=start.lineno)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1247 cause = " or ".join(causes) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1248 exits = {ArcStart(xit.lineno, cause) for xit in exits} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1249 return exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1250 

+

1251 def _handle__While(self, node: ast.While) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1252 start = to_top = self.line_for_node(node.test) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1253 constant_test = self.is_constant_expr(node.test) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1254 top_is_body0 = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1255 if constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1256 top_is_body0 = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1257 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1258 top_is_body0 = False 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1259 if top_is_body0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1260 to_top = self.line_for_node(node.body[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1261 self.block_stack.append(LoopBlock(start=to_top)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1262 from_start = ArcStart(start, cause="the condition on line {lineno} was never true") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1263 exits = self.add_body_arcs(node.body, from_start=from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1264 for xit in exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1265 self.add_arc(xit.lineno, to_top, xit.cause) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1266 exits = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1267 my_block = self.block_stack.pop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1268 assert isinstance(my_block, LoopBlock) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1269 exits.update(my_block.break_exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1270 from_start = ArcStart(start, cause="the condition on line {lineno} was never false") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1271 if node.orelse: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1272 else_exits = self.add_body_arcs(node.orelse, from_start=from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1273 exits |= else_exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1274 else: 

+

1275 # No `else` clause: you can exit from the start. 

+

1276 if not constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1277 exits.add(from_start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1278 return exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1279 

+

1280 def _handle__With(self, node: ast.With) -> Set[ArcStart]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1281 start = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1282 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1283 self.block_stack.append(WithBlock(start=start)) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1284 exits = self.add_body_arcs(node.body, from_start=ArcStart(start)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1285 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1286 with_block = self.block_stack.pop() 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1287 assert isinstance(with_block, WithBlock) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1288 with_exit = {ArcStart(start)} 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1289 if exits: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1290 for xit in exits: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1291 self.add_arc(xit.lineno, start) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1292 exits = with_exit 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1293 if with_block.break_from: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1294 self.process_break_exits( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1295 self._combine_finally_starts(with_block.break_from, with_exit) 

+

1296 ) 

+

1297 if with_block.continue_from: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1298 self.process_continue_exits( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1299 self._combine_finally_starts(with_block.continue_from, with_exit) 

+

1300 ) 

+

1301 if with_block.return_from: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1302 self.process_return_exits( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1303 self._combine_finally_starts(with_block.return_from, with_exit) 

+

1304 ) 

+

1305 return exits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1306 

+

1307 _handle__AsyncWith = _handle__With 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1308 

+

1309 # Code object dispatchers: _code_object__* 

+

1310 # 

+

1311 # These methods are used by analyze() as the start of the analysis. 

+

1312 # There is one for each construct with a code object. 

+

1313 

+

1314 def _code_object__Module(self, node: ast.Module) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1315 start = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1316 if node.body: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1317 exits = self.add_body_arcs(node.body, from_start=ArcStart(-start)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1318 for xit in exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1319 self.add_arc(xit.lineno, -start, xit.cause, "didn't exit the module") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1320 else: 

+

1321 # Empty module. 

+

1322 self.add_arc(-start, start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1323 self.add_arc(start, -start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1324 

+

1325 def _code_object__FunctionDef(self, node: ast.FunctionDef) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1326 start = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1327 self.block_stack.append(FunctionBlock(start=start, name=node.name)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1328 exits = self.add_body_arcs(node.body, from_start=ArcStart(-start)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1329 self.process_return_exits(exits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1330 self.block_stack.pop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1331 

+

1332 _code_object__AsyncFunctionDef = _code_object__FunctionDef 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1333 

+

1334 def _code_object__ClassDef(self, node: ast.ClassDef) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1335 start = self.line_for_node(node) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1336 self.add_arc(-start, start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1337 exits = self.add_body_arcs(node.body, from_start=ArcStart(start)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1338 for xit in exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1339 self.add_arc( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1340 xit.lineno, -start, xit.cause, 

+

1341 f"didn't exit the body of class {node.name!r}", 

+

1342 ) 

+

1343 

+

1344 _code_object__Lambda = _make_expression_code_method("lambda") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1345 _code_object__GeneratorExp = _make_expression_code_method("generator expression") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1346 _code_object__DictComp = _make_expression_code_method("dictionary comprehension") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1347 _code_object__SetComp = _make_expression_code_method("set comprehension") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1348 _code_object__ListComp = _make_expression_code_method("list comprehension") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1349 

+

1350 

+

1351# Code only used when dumping the AST for debugging. 

+

1352 

+

1353SKIP_DUMP_FIELDS = ["ctx"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1354 

+

1355def _is_simple_value(value: Any) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1356 """Is `value` simple enough to be displayed on a single line?""" 

+

1357 return ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1358 value in [None, [], (), {}, set(), frozenset(), Ellipsis] or 

+

1359 isinstance(value, (bytes, int, float, str)) 

+

1360 ) 

+

1361 

+

1362def ast_dump( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1363 node: ast.AST, 

+

1364 depth: int = 0, 

+

1365 print: Callable[[str], None] = print, # pylint: disable=redefined-builtin 

+

1366) -> None: 

+

1367 """Dump the AST for `node`. 

+

1368 

+

1369 This recursively walks the AST, printing a readable version. 

+

1370 

+

1371 """ 

+

1372 indent = " " * depth 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1373 lineno = getattr(node, "lineno", None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1374 if lineno is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1375 linemark = f" @ {node.lineno},{node.col_offset}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1376 if hasattr(node, "end_lineno"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1377 assert hasattr(node, "end_col_offset") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1378 linemark += ":" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1379 if node.end_lineno != node.lineno: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1380 linemark += f"{node.end_lineno}," 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1381 linemark += f"{node.end_col_offset}" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1382 else: 

+

1383 linemark = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1384 head = f"{indent}<{node.__class__.__name__}{linemark}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1385 

+

1386 named_fields = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1387 (name, value) 

+

1388 for name, value in ast.iter_fields(node) 

+

1389 if name not in SKIP_DUMP_FIELDS 

+

1390 ] 

+

1391 if not named_fields: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1392 print(f"{head}>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1393 elif len(named_fields) == 1 and _is_simple_value(named_fields[0][1]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1394 field_name, value = named_fields[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1395 print(f"{head} {field_name}: {value!r}>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1396 else: 

+

1397 print(head) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1398 if 0: 

+

1399 print("{}# mro: {}".format( # type: ignore[unreachable] 

+

1400 indent, ", ".join(c.__name__ for c in node.__class__.__mro__[1:]), 

+

1401 )) 

+

1402 next_indent = indent + " " 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1403 for field_name, value in named_fields: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1404 prefix = f"{next_indent}{field_name}:" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1405 if _is_simple_value(value): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1406 print(f"{prefix} {value!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1407 elif isinstance(value, list): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1408 print(f"{prefix} [") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1409 for n in value: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1410 if _is_simple_value(n): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1411 print(f"{next_indent} {n!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1412 else: 

+

1413 ast_dump(n, depth + 8, print=print) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1414 print(f"{next_indent}]") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1415 else: 

+

1416 print(prefix) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1417 ast_dump(value, depth + 8, print=print) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1418 

+

1419 print(f"{indent}>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_phystokens_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_phystokens_py.html new file mode 100644 index 000000000..1217e752a --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_phystokens_py.html @@ -0,0 +1,306 @@ + + + + + Coverage for coverage/phystokens.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/phystokens.py: + 100.000% +

+ +

+ 105 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Better tokenizing for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import ast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import io 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import keyword 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import token 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import tokenize 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from typing import Iterable, List, Optional, Set, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.types import TLineNo, TSourceTokenLines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21 

+

22TokenInfos = Iterable[tokenize.TokenInfo] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24 

+

25def _phys_tokens(toks: TokenInfos) -> TokenInfos: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 """Return all physical tokens, even line continuations. 

+

27 

+

28 tokenize.generate_tokens() doesn't return a token for the backslash that 

+

29 continues lines. This wrapper provides those tokens so that we can 

+

30 re-create a faithful representation of the original source. 

+

31 

+

32 Returns the same values as generate_tokens() 

+

33 

+

34 """ 

+

35 last_line: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 last_lineno = -1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 last_ttext: str = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 for ttype, ttext, (slineno, scol), (elineno, ecol), ltext in toks: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 if last_lineno != elineno: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 if last_line and last_line.endswith("\\\n"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 # We are at the beginning of a new line, and the last line 

+

42 # ended with a backslash. We probably have to inject a 

+

43 # backslash token into the stream. Unfortunately, there's more 

+

44 # to figure out. This code:: 

+

45 # 

+

46 # usage = """\ 

+

47 # HEY THERE 

+

48 # """ 

+

49 # 

+

50 # triggers this condition, but the token text is:: 

+

51 # 

+

52 # '"""\\\nHEY THERE\n"""' 

+

53 # 

+

54 # so we need to figure out if the backslash is already in the 

+

55 # string token or not. 

+

56 inject_backslash = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 if last_ttext.endswith("\\"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 inject_backslash = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 elif ttype == token.STRING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 if "\n" in ttext and ttext.split('\n', 1)[0][-1] == '\\': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 # It's a multi-line string and the first line ends with 

+

62 # a backslash, so we don't need to inject another. 

+

63 inject_backslash = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 if inject_backslash: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 # Figure out what column the backslash is in. 

+

66 ccol = len(last_line.split("\n")[-2]) - 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 # Yield the token, with a fake token type. 

+

68 yield tokenize.TokenInfo( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 99999, "\\\n", 

+

70 (slineno, ccol), (slineno, ccol+2), 

+

71 last_line 

+

72 ) 

+

73 last_line = ltext 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 if ttype not in (tokenize.NEWLINE, tokenize.NL): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 last_ttext = ttext 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 yield tokenize.TokenInfo(ttype, ttext, (slineno, scol), (elineno, ecol), ltext) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 last_lineno = elineno 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 

+

79 

+

80class MatchCaseFinder(ast.NodeVisitor): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 """Helper for finding match/case lines.""" 

+

82 def __init__(self, source: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 # This will be the set of line numbers that start match or case statements. 

+

84 self.match_case_lines: Set[TLineNo] = set() 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

85 self.visit(ast.parse(source)) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

86 

+

87 if sys.version_info >= (3, 10): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 def visit_Match(self, node: ast.Match) -> None: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

89 """Invoked by ast.NodeVisitor.visit""" 

+

90 self.match_case_lines.add(node.lineno) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

91 for case in node.cases: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

92 self.match_case_lines.add(case.pattern.lineno) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

93 self.generic_visit(node) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

94 

+

95 

+

96def source_token_lines(source: str) -> TSourceTokenLines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 """Generate a series of lines, one for each line in `source`. 

+

98 

+

99 Each line is a list of pairs, each pair is a token:: 

+

100 

+

101 [('key', 'def'), ('ws', ' '), ('nam', 'hello'), ('op', '('), ... ] 

+

102 

+

103 Each pair has a token class, and the token text. 

+

104 

+

105 If you concatenate all the token texts, and then join them with newlines, 

+

106 you should have your original `source` back, with two differences: 

+

107 trailing white space is not preserved, and a final line with no newline 

+

108 is indistinguishable from a final line with a newline. 

+

109 

+

110 """ 

+

111 

+

112 ws_tokens = {token.INDENT, token.DEDENT, token.NEWLINE, tokenize.NL} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 line: List[Tuple[str, str]] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 col = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 

+

116 source = source.expandtabs(8).replace('\r\n', '\n') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 tokgen = generate_tokens(source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 

+

119 if env.PYBEHAVIOR.soft_keywords: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 match_case_lines = MatchCaseFinder(source).match_case_lines 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

121 

+

122 for ttype, ttext, (sline, scol), (_, ecol), _ in _phys_tokens(tokgen): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 mark_start = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 for part in re.split('(\n)', ttext): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 if part == '\n': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 yield line 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 line = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 col = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 mark_end = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 elif part == '': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 mark_end = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 elif ttype in ws_tokens: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 mark_end = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 else: 

+

135 if mark_start and scol > col: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 line.append(("ws", " " * (scol - col))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 mark_start = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 tok_class = tokenize.tok_name.get(ttype, 'xx').lower()[:3] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 if ttype == token.NAME: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 if keyword.iskeyword(ttext): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 # Hard keywords are always keywords. 

+

142 tok_class = "key" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 elif sys.version_info >= (3, 10): # PYVERSIONS 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 # Need the version_info check to keep mypy from borking 

+

145 # on issoftkeyword here. 

+

146 if env.PYBEHAVIOR.soft_keywords and keyword.issoftkeyword(ttext): 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

147 # Soft keywords appear at the start of the line, 

+

148 # on lines that start match or case statements. 

+

149 if len(line) == 0: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

150 is_start_of_line = True 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

151 elif (len(line) == 1) and line[0][0] == "ws": 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

152 is_start_of_line = True 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

153 else: 

+

154 is_start_of_line = False 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

155 if is_start_of_line and sline in match_case_lines: 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

156 tok_class = "key" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

157 line.append((tok_class, part)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 mark_end = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 scol = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 if mark_end: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 col = ecol 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 

+

163 if line: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 yield line 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 

+

166 

+

167class CachedTokenizer: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 """A one-element cache around tokenize.generate_tokens. 

+

169 

+

170 When reporting, coverage.py tokenizes files twice, once to find the 

+

171 structure of the file, and once to syntax-color it. Tokenizing is 

+

172 expensive, and easily cached. 

+

173 

+

174 This is a one-element cache so that our twice-in-a-row tokenizing doesn't 

+

175 actually tokenize twice. 

+

176 

+

177 """ 

+

178 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 self.last_text: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 self.last_tokens: List[tokenize.TokenInfo] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 

+

182 def generate_tokens(self, text: str) -> TokenInfos: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 """A stand-in for `tokenize.generate_tokens`.""" 

+

184 if text != self.last_text: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 self.last_text = text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 readline = io.StringIO(text).readline 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 self.last_tokens = list(tokenize.generate_tokens(readline)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 except: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 self.last_text = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 return self.last_tokens 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194# Create our generate_tokens cache as a callable replacement function. 

+

195generate_tokens = CachedTokenizer().generate_tokens 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 

+

197 

+

198def source_encoding(source: bytes) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 """Determine the encoding for `source`, according to PEP 263. 

+

200 

+

201 `source` is a byte string: the text of the program. 

+

202 

+

203 Returns a string, the name of the encoding. 

+

204 

+

205 """ 

+

206 readline = iter(source.splitlines(True)).__next__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 return tokenize.detect_encoding(readline)[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_plugin_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_plugin_py.html new file mode 100644 index 000000000..27a0427bb --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_plugin_py.html @@ -0,0 +1,652 @@ + + + + + Coverage for coverage/plugin.py: 86.111% + + + + + +
+
+

+ Coverage for coverage/plugin.py: + 86.111% +

+ +

+ 68 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4""" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5.. versionadded:: 4.0 

+

6 

+

7Plug-in interfaces for coverage.py. 

+

8 

+

9Coverage.py supports a few different kinds of plug-ins that change its 

+

10behavior: 

+

11 

+

12* File tracers implement tracing of non-Python file types. 

+

13 

+

14* Configurers add custom configuration, using Python code to change the 

+

15 configuration. 

+

16 

+

17* Dynamic context switchers decide when the dynamic context has changed, for 

+

18 example, to record what test function produced the coverage. 

+

19 

+

20To write a coverage.py plug-in, create a module with a subclass of 

+

21:class:`~coverage.CoveragePlugin`. You will override methods in your class to 

+

22participate in various aspects of coverage.py's processing. 

+

23Different types of plug-ins have to override different methods. 

+

24 

+

25Any plug-in can optionally implement :meth:`~coverage.CoveragePlugin.sys_info` 

+

26to provide debugging information about their operation. 

+

27 

+

28Your module must also contain a ``coverage_init`` function that registers an 

+

29instance of your plug-in class:: 

+

30 

+

31 import coverage 

+

32 

+

33 class MyPlugin(coverage.CoveragePlugin): 

+

34 ... 

+

35 

+

36 def coverage_init(reg, options): 

+

37 reg.add_file_tracer(MyPlugin()) 

+

38 

+

39You use the `reg` parameter passed to your ``coverage_init`` function to 

+

40register your plug-in object. The registration method you call depends on 

+

41what kind of plug-in it is. 

+

42 

+

43If your plug-in takes options, the `options` parameter is a dictionary of your 

+

44plug-in's options from the coverage.py configuration file. Use them however 

+

45you want to configure your object before registering it. 

+

46 

+

47Coverage.py will store its own information on your plug-in object, using 

+

48attributes whose names start with ``_coverage_``. Don't be startled. 

+

49 

+

50.. warning:: 

+

51 Plug-ins are imported by coverage.py before it begins measuring code. 

+

52 If you write a plugin in your own project, it might import your product 

+

53 code before coverage.py can start measuring. This can result in your 

+

54 own code being reported as missing. 

+

55 

+

56 One solution is to put your plugins in your project tree, but not in 

+

57 your importable Python package. 

+

58 

+

59 

+

60.. _file_tracer_plugins: 

+

61 

+

62File Tracers 

+

63============ 

+

64 

+

65File tracers implement measurement support for non-Python files. File tracers 

+

66implement the :meth:`~coverage.CoveragePlugin.file_tracer` method to claim 

+

67files and the :meth:`~coverage.CoveragePlugin.file_reporter` method to report 

+

68on those files. 

+

69 

+

70In your ``coverage_init`` function, use the ``add_file_tracer`` method to 

+

71register your file tracer. 

+

72 

+

73 

+

74.. _configurer_plugins: 

+

75 

+

76Configurers 

+

77=========== 

+

78 

+

79.. versionadded:: 4.5 

+

80 

+

81Configurers modify the configuration of coverage.py during start-up. 

+

82Configurers implement the :meth:`~coverage.CoveragePlugin.configure` method to 

+

83change the configuration. 

+

84 

+

85In your ``coverage_init`` function, use the ``add_configurer`` method to 

+

86register your configurer. 

+

87 

+

88 

+

89.. _dynamic_context_plugins: 

+

90 

+

91Dynamic Context Switchers 

+

92========================= 

+

93 

+

94.. versionadded:: 5.0 

+

95 

+

96Dynamic context switcher plugins implement the 

+

97:meth:`~coverage.CoveragePlugin.dynamic_context` method to dynamically compute 

+

98the context label for each measured frame. 

+

99 

+

100Computed context labels are useful when you want to group measured data without 

+

101modifying the source code. 

+

102 

+

103For example, you could write a plugin that checks `frame.f_code` to inspect 

+

104the currently executed method, and set the context label to a fully qualified 

+

105method name if it's an instance method of `unittest.TestCase` and the method 

+

106name starts with 'test'. Such a plugin would provide basic coverage grouping 

+

107by test and could be used with test runners that have no built-in coveragepy 

+

108support. 

+

109 

+

110In your ``coverage_init`` function, use the ``add_dynamic_context`` method to 

+

111register your dynamic context switcher. 

+

112 

+

113""" 

+

114 

+

115from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 

+

117import functools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 

+

119from types import FrameType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120from typing import Any, Dict, Iterable, Optional, Set, Tuple, Union 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 

+

122from coverage import files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123from coverage.misc import _needs_to_implement 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124from coverage.types import TArc, TConfigurable, TLineNo, TSourceTokenLines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 

+

126 

+

127class CoveragePlugin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 """Base class for coverage.py plug-ins.""" 

+

129 

+

130 _coverage_plugin_name: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 _coverage_enabled: bool 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 

+

133 def file_tracer(self, filename: str) -> Optional[FileTracer]: # pylint: disable=unused-argument 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 """Get a :class:`FileTracer` object for a file. 

+

135 

+

136 Plug-in type: file tracer. 

+

137 

+

138 Every Python source file is offered to your plug-in to give it a chance 

+

139 to take responsibility for tracing the file. If your plug-in can 

+

140 handle the file, it should return a :class:`FileTracer` object. 

+

141 Otherwise return None. 

+

142 

+

143 There is no way to register your plug-in for particular files. 

+

144 Instead, this method is invoked for all files as they are executed, 

+

145 and the plug-in decides whether it can trace the file or not. 

+

146 Be prepared for `filename` to refer to all kinds of files that have 

+

147 nothing to do with your plug-in. 

+

148 

+

149 The file name will be a Python file being executed. There are two 

+

150 broad categories of behavior for a plug-in, depending on the kind of 

+

151 files your plug-in supports: 

+

152 

+

153 * Static file names: each of your original source files has been 

+

154 converted into a distinct Python file. Your plug-in is invoked with 

+

155 the Python file name, and it maps it back to its original source 

+

156 file. 

+

157 

+

158 * Dynamic file names: all of your source files are executed by the same 

+

159 Python file. In this case, your plug-in implements 

+

160 :meth:`FileTracer.dynamic_source_filename` to provide the actual 

+

161 source file for each execution frame. 

+

162 

+

163 `filename` is a string, the path to the file being considered. This is 

+

164 the absolute real path to the file. If you are comparing to other 

+

165 paths, be sure to take this into account. 

+

166 

+

167 Returns a :class:`FileTracer` object to use to trace `filename`, or 

+

168 None if this plug-in cannot trace this file. 

+

169 

+

170 """ 

+

171 return None 

+

172 

+

173 def file_reporter( # type: ignore[return] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 self, 

+

175 filename: str, # pylint: disable=unused-argument 

+

176 ) -> Union[FileReporter, str]: # str should be Literal["python"] 

+

177 """Get the :class:`FileReporter` class to use for a file. 

+

178 

+

179 Plug-in type: file tracer. 

+

180 

+

181 This will only be invoked if `filename` returns non-None from 

+

182 :meth:`file_tracer`. It's an error to return None from this method. 

+

183 

+

184 Returns a :class:`FileReporter` object to use to report on `filename`, 

+

185 or the string `"python"` to have coverage.py treat the file as Python. 

+

186 

+

187 """ 

+

188 _needs_to_implement(self, "file_reporter") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

189 

+

190 def dynamic_context( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 self, 

+

192 frame: FrameType, # pylint: disable=unused-argument 

+

193 ) -> Optional[str]: 

+

194 """Get the dynamically computed context label for `frame`. 

+

195 

+

196 Plug-in type: dynamic context. 

+

197 

+

198 This method is invoked for each frame when outside of a dynamic 

+

199 context, to see if a new dynamic context should be started. If it 

+

200 returns a string, a new context label is set for this and deeper 

+

201 frames. The dynamic context ends when this frame returns. 

+

202 

+

203 Returns a string to start a new dynamic context, or None if no new 

+

204 context should be started. 

+

205 

+

206 """ 

+

207 return None 

+

208 

+

209 def find_executable_files( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 self, 

+

211 src_dir: str, # pylint: disable=unused-argument 

+

212 ) -> Iterable[str]: 

+

213 """Yield all of the executable files in `src_dir`, recursively. 

+

214 

+

215 Plug-in type: file tracer. 

+

216 

+

217 Executability is a plug-in-specific property, but generally means files 

+

218 which would have been considered for coverage analysis, had they been 

+

219 included automatically. 

+

220 

+

221 Returns or yields a sequence of strings, the paths to files that could 

+

222 have been executed, including files that had been executed. 

+

223 

+

224 """ 

+

225 return [] 

+

226 

+

227 def configure(self, config: TConfigurable) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 """Modify the configuration of coverage.py. 

+

229 

+

230 Plug-in type: configurer. 

+

231 

+

232 This method is called during coverage.py start-up, to give your plug-in 

+

233 a chance to change the configuration. The `config` parameter is an 

+

234 object with :meth:`~coverage.Coverage.get_option` and 

+

235 :meth:`~coverage.Coverage.set_option` methods. Do not call any other 

+

236 methods on the `config` object. 

+

237 

+

238 """ 

+

239 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 

+

241 def sys_info(self) -> Iterable[Tuple[str, Any]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 """Get a list of information useful for debugging. 

+

243 

+

244 Plug-in type: any. 

+

245 

+

246 This method will be invoked for ``--debug=sys``. Your 

+

247 plug-in can return any information it wants to be displayed. 

+

248 

+

249 Returns a list of pairs: `[(name, value), ...]`. 

+

250 

+

251 """ 

+

252 return [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 

+

254 

+

255class CoveragePluginBase: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 """Plugins produce specialized objects, which point back to the original plugin.""" 

+

257 _coverage_plugin: CoveragePlugin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 

+

259 

+

260class FileTracer(CoveragePluginBase): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 """Support needed for files during the execution phase. 

+

262 

+

263 File tracer plug-ins implement subclasses of FileTracer to return from 

+

264 their :meth:`~CoveragePlugin.file_tracer` method. 

+

265 

+

266 You may construct this object from :meth:`CoveragePlugin.file_tracer` any 

+

267 way you like. A natural choice would be to pass the file name given to 

+

268 `file_tracer`. 

+

269 

+

270 `FileTracer` objects should only be created in the 

+

271 :meth:`CoveragePlugin.file_tracer` method. 

+

272 

+

273 See :ref:`howitworks` for details of the different coverage.py phases. 

+

274 

+

275 """ 

+

276 

+

277 def source_filename(self) -> str: # type: ignore[return] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 """The source file name for this file. 

+

279 

+

280 This may be any file name you like. A key responsibility of a plug-in 

+

281 is to own the mapping from Python execution back to whatever source 

+

282 file name was originally the source of the code. 

+

283 

+

284 See :meth:`CoveragePlugin.file_tracer` for details about static and 

+

285 dynamic file names. 

+

286 

+

287 Returns the file name to credit with this execution. 

+

288 

+

289 """ 

+

290 _needs_to_implement(self, "source_filename") 

+

291 

+

292 def has_dynamic_source_filename(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 """Does this FileTracer have dynamic source file names? 

+

294 

+

295 FileTracers can provide dynamically determined file names by 

+

296 implementing :meth:`dynamic_source_filename`. Invoking that function 

+

297 is expensive. To determine whether to invoke it, coverage.py uses the 

+

298 result of this function to know if it needs to bother invoking 

+

299 :meth:`dynamic_source_filename`. 

+

300 

+

301 See :meth:`CoveragePlugin.file_tracer` for details about static and 

+

302 dynamic file names. 

+

303 

+

304 Returns True if :meth:`dynamic_source_filename` should be called to get 

+

305 dynamic source file names. 

+

306 

+

307 """ 

+

308 return False 

+

309 

+

310 def dynamic_source_filename( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 self, 

+

312 filename: str, # pylint: disable=unused-argument 

+

313 frame: FrameType, # pylint: disable=unused-argument 

+

314 ) -> Optional[str]: 

+

315 """Get a dynamically computed source file name. 

+

316 

+

317 Some plug-ins need to compute the source file name dynamically for each 

+

318 frame. 

+

319 

+

320 This function will not be invoked if 

+

321 :meth:`has_dynamic_source_filename` returns False. 

+

322 

+

323 Returns the source file name for this frame, or None if this frame 

+

324 shouldn't be measured. 

+

325 

+

326 """ 

+

327 return None 

+

328 

+

329 def line_number_range(self, frame: FrameType) -> Tuple[TLineNo, TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

330 """Get the range of source line numbers for a given a call frame. 

+

331 

+

332 The call frame is examined, and the source line number in the original 

+

333 file is returned. The return value is a pair of numbers, the starting 

+

334 line number and the ending line number, both inclusive. For example, 

+

335 returning (5, 7) means that lines 5, 6, and 7 should be considered 

+

336 executed. 

+

337 

+

338 This function might decide that the frame doesn't indicate any lines 

+

339 from the source file were executed. Return (-1, -1) in this case to 

+

340 tell coverage.py that no lines should be recorded for this frame. 

+

341 

+

342 """ 

+

343 lineno = frame.f_lineno 

+

344 return lineno, lineno 

+

345 

+

346 

+

347@functools.total_ordering 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348class FileReporter(CoveragePluginBase): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 """Support needed for files during the analysis and reporting phases. 

+

350 

+

351 File tracer plug-ins implement a subclass of `FileReporter`, and return 

+

352 instances from their :meth:`CoveragePlugin.file_reporter` method. 

+

353 

+

354 There are many methods here, but only :meth:`lines` is required, to provide 

+

355 the set of executable lines in the file. 

+

356 

+

357 See :ref:`howitworks` for details of the different coverage.py phases. 

+

358 

+

359 """ 

+

360 

+

361 def __init__(self, filename: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 """Simple initialization of a `FileReporter`. 

+

363 

+

364 The `filename` argument is the path to the file being reported. This 

+

365 will be available as the `.filename` attribute on the object. Other 

+

366 method implementations on this base class rely on this attribute. 

+

367 

+

368 """ 

+

369 self.filename = filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

370 

+

371 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 return "<{0.__class__.__name__} filename={0.filename!r}>".format(self) 

+

373 

+

374 def relative_filename(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 """Get the relative file name for this file. 

+

376 

+

377 This file path will be displayed in reports. The default 

+

378 implementation will supply the actual project-relative file path. You 

+

379 only need to supply this method if you have an unusual syntax for file 

+

380 paths. 

+

381 

+

382 """ 

+

383 return files.relative_filename(self.filename) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

384 

+

385 def source(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 """Get the source for the file. 

+

387 

+

388 Returns a Unicode string. 

+

389 

+

390 The base implementation simply reads the `self.filename` file and 

+

391 decodes it as UTF-8. Override this method if your file isn't readable 

+

392 as a text file, or if you need other encoding support. 

+

393 

+

394 """ 

+

395 with open(self.filename, encoding="utf-8") as f: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

396 return f.read() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

397 

+

398 def lines(self) -> Set[TLineNo]: # type: ignore[return] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

399 """Get the executable lines in this file. 

+

400 

+

401 Your plug-in must determine which lines in the file were possibly 

+

402 executable. This method returns a set of those line numbers. 

+

403 

+

404 Returns a set of line numbers. 

+

405 

+

406 """ 

+

407 _needs_to_implement(self, "lines") 

+

408 

+

409 def excluded_lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 """Get the excluded executable lines in this file. 

+

411 

+

412 Your plug-in can use any method it likes to allow the user to exclude 

+

413 executable lines from consideration. 

+

414 

+

415 Returns a set of line numbers. 

+

416 

+

417 The base implementation returns the empty set. 

+

418 

+

419 """ 

+

420 return set() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

421 

+

422 def translate_lines(self, lines: Iterable[TLineNo]) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

423 """Translate recorded lines into reported lines. 

+

424 

+

425 Some file formats will want to report lines slightly differently than 

+

426 they are recorded. For example, Python records the last line of a 

+

427 multi-line statement, but reports are nicer if they mention the first 

+

428 line. 

+

429 

+

430 Your plug-in can optionally define this method to perform these kinds 

+

431 of adjustment. 

+

432 

+

433 `lines` is a sequence of integers, the recorded line numbers. 

+

434 

+

435 Returns a set of integers, the adjusted line numbers. 

+

436 

+

437 The base implementation returns the numbers unchanged. 

+

438 

+

439 """ 

+

440 return set(lines) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

441 

+

442 def arcs(self) -> Set[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 """Get the executable arcs in this file. 

+

444 

+

445 To support branch coverage, your plug-in needs to be able to indicate 

+

446 possible execution paths, as a set of line number pairs. Each pair is 

+

447 a `(prev, next)` pair indicating that execution can transition from the 

+

448 `prev` line number to the `next` line number. 

+

449 

+

450 Returns a set of pairs of line numbers. The default implementation 

+

451 returns an empty set. 

+

452 

+

453 """ 

+

454 return set() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

455 

+

456 def no_branch_lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

457 """Get the lines excused from branch coverage in this file. 

+

458 

+

459 Your plug-in can use any method it likes to allow the user to exclude 

+

460 lines from consideration of branch coverage. 

+

461 

+

462 Returns a set of line numbers. 

+

463 

+

464 The base implementation returns the empty set. 

+

465 

+

466 """ 

+

467 return set() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

468 

+

469 def translate_arcs(self, arcs: Iterable[TArc]) -> Set[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 """Translate recorded arcs into reported arcs. 

+

471 

+

472 Similar to :meth:`translate_lines`, but for arcs. `arcs` is a set of 

+

473 line number pairs. 

+

474 

+

475 Returns a set of line number pairs. 

+

476 

+

477 The default implementation returns `arcs` unchanged. 

+

478 

+

479 """ 

+

480 return set(arcs) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

481 

+

482 def exit_counts(self) -> Dict[TLineNo, int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 """Get a count of exits from that each line. 

+

484 

+

485 To determine which lines are branches, coverage.py looks for lines that 

+

486 have more than one exit. This function creates a dict mapping each 

+

487 executable line number to a count of how many exits it has. 

+

488 

+

489 To be honest, this feels wrong, and should be refactored. Let me know 

+

490 if you attempt to implement this method in your plug-in... 

+

491 

+

492 """ 

+

493 return {} 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

494 

+

495 def missing_arc_description( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

496 self, 

+

497 start: TLineNo, 

+

498 end: TLineNo, 

+

499 executed_arcs: Optional[Iterable[TArc]] = None, # pylint: disable=unused-argument 

+

500 ) -> str: 

+

501 """Provide an English sentence describing a missing arc. 

+

502 

+

503 The `start` and `end` arguments are the line numbers of the missing 

+

504 arc. Negative numbers indicate entering or exiting code objects. 

+

505 

+

506 The `executed_arcs` argument is a set of line number pairs, the arcs 

+

507 that were executed in this file. 

+

508 

+

509 By default, this simply returns the string "Line {start} didn't jump 

+

510 to {end}". 

+

511 

+

512 """ 

+

513 return f"Line {start} didn't jump to line {end}" 

+

514 

+

515 def source_token_lines(self) -> TSourceTokenLines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

516 """Generate a series of tokenized lines, one for each line in `source`. 

+

517 

+

518 These tokens are used for syntax-colored reports. 

+

519 

+

520 Each line is a list of pairs, each pair is a token:: 

+

521 

+

522 [('key', 'def'), ('ws', ' '), ('nam', 'hello'), ('op', '('), ... ] 

+

523 

+

524 Each pair has a token class, and the token text. The token classes 

+

525 are: 

+

526 

+

527 * ``'com'``: a comment 

+

528 * ``'key'``: a keyword 

+

529 * ``'nam'``: a name, or identifier 

+

530 * ``'num'``: a number 

+

531 * ``'op'``: an operator 

+

532 * ``'str'``: a string literal 

+

533 * ``'ws'``: some white space 

+

534 * ``'txt'``: some other kind of text 

+

535 

+

536 If you concatenate all the token texts, and then join them with 

+

537 newlines, you should have your original source back. 

+

538 

+

539 The default implementation simply returns each line tagged as 

+

540 ``'txt'``. 

+

541 

+

542 """ 

+

543 for line in self.source().splitlines(): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

544 yield [('txt', line)] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

545 

+

546 def __eq__(self, other: Any) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 return isinstance(other, FileReporter) and self.filename == other.filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

548 

+

549 def __lt__(self, other: Any) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 return isinstance(other, FileReporter) and self.filename < other.filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 

+

552 # This object doesn't need to be hashed. 

+

553 __hash__ = None # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_plugin_support_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_plugin_support_py.html new file mode 100644 index 000000000..f9846742f --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_plugin_support_py.html @@ -0,0 +1,396 @@ + + + + + Coverage for coverage/plugin_support.py: 52.406% + + + + + +
+
+

+ Coverage for coverage/plugin_support.py: + 52.406% +

+ +

+ 173 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Support for plugins.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from types import FrameType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from typing import Any, Dict, Iterable, Iterator, List, Optional, Set, Tuple, Union 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15from coverage.exceptions import PluginError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.misc import isolate_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.plugin import CoveragePlugin, FileTracer, FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.types import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 TArc, TConfigurable, TDebugCtl, TLineNo, TPluginConfig, TSourceTokenLines, 

+

20) 

+

21 

+

22os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24 

+

25class Plugins: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 """The currently loaded collection of coverage.py plugins.""" 

+

27 

+

28 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 self.order: List[CoveragePlugin] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 self.names: Dict[str, CoveragePlugin] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 self.file_tracers: List[CoveragePlugin] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 self.configurers: List[CoveragePlugin] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 self.context_switchers: List[CoveragePlugin] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 self.current_module: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 self.debug: Optional[TDebugCtl] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 

+

38 @classmethod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 def load_plugins( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

40 cls, 

+

41 modules: Iterable[str], 

+

42 config: TPluginConfig, 

+

43 debug: Optional[TDebugCtl] = None, 

+

44 ) -> Plugins: 

+

45 """Load plugins from `modules`. 

+

46 

+

47 Returns a Plugins object with the loaded and configured plugins. 

+

48 

+

49 """ 

+

50 plugins = cls() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 plugins.debug = debug 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 

+

53 for module in modules: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 plugins.current_module = module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 __import__(module) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 mod = sys.modules[module] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 

+

58 coverage_init = getattr(mod, "coverage_init", None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 if not coverage_init: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 raise PluginError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 f"Plugin module {module!r} didn't define a coverage_init function" 

+

62 ) 

+

63 

+

64 options = config.get_plugin_options(module) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 coverage_init(plugins, options) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 

+

67 plugins.current_module = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 return plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 

+

70 def add_file_tracer(self, plugin: CoveragePlugin) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 """Add a file tracer plugin. 

+

72 

+

73 `plugin` is an instance of a third-party plugin class. It must 

+

74 implement the :meth:`CoveragePlugin.file_tracer` method. 

+

75 

+

76 """ 

+

77 self._add_plugin(plugin, self.file_tracers) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 

+

79 def add_configurer(self, plugin: CoveragePlugin) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 """Add a configuring plugin. 

+

81 

+

82 `plugin` is an instance of a third-party plugin class. It must 

+

83 implement the :meth:`CoveragePlugin.configure` method. 

+

84 

+

85 """ 

+

86 self._add_plugin(plugin, self.configurers) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 

+

88 def add_dynamic_context(self, plugin: CoveragePlugin) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 """Add a dynamic context plugin. 

+

90 

+

91 `plugin` is an instance of a third-party plugin class. It must 

+

92 implement the :meth:`CoveragePlugin.dynamic_context` method. 

+

93 

+

94 """ 

+

95 self._add_plugin(plugin, self.context_switchers) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 

+

97 def add_noop(self, plugin: CoveragePlugin) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 """Add a plugin that does nothing. 

+

99 

+

100 This is only useful for testing the plugin support. 

+

101 

+

102 """ 

+

103 self._add_plugin(plugin, None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 

+

105 def _add_plugin( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 self, 

+

107 plugin: CoveragePlugin, 

+

108 specialized: Optional[List[CoveragePlugin]], 

+

109 ) -> None: 

+

110 """Add a plugin object. 

+

111 

+

112 `plugin` is a :class:`CoveragePlugin` instance to add. `specialized` 

+

113 is a list to append the plugin to. 

+

114 

+

115 """ 

+

116 plugin_name = f"{self.current_module}.{plugin.__class__.__name__}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 if self.debug and self.debug.should('plugin'): 117 ↛ 118line 117 didn't jump to line 118, because the condition on line 117 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 self.debug.write(f"Loaded plugin {self.current_module!r}: {plugin!r}") 

+

119 labelled = LabelledDebug(f"plugin {self.current_module!r}", self.debug) 

+

120 plugin = DebugPluginWrapper(plugin, labelled) 

+

121 

+

122 plugin._coverage_plugin_name = plugin_name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 plugin._coverage_enabled = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 self.order.append(plugin) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 self.names[plugin_name] = plugin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 if specialized is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 specialized.append(plugin) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 

+

129 def __bool__(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 return bool(self.order) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 

+

132 def __iter__(self) -> Iterator[CoveragePlugin]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 return iter(self.order) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 

+

135 def get(self, plugin_name: str) -> CoveragePlugin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 """Return a plugin by name.""" 

+

137 return self.names[plugin_name] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

138 

+

139 

+

140class LabelledDebug: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 """A Debug writer, but with labels for prepending to the messages.""" 

+

142 

+

143 def __init__(self, label: str, debug: TDebugCtl, prev_labels: Iterable[str] = ()): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 self.labels = list(prev_labels) + [label] 

+

145 self.debug = debug 

+

146 

+

147 def add_label(self, label: str) -> LabelledDebug: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 """Add a label to the writer, and return a new `LabelledDebug`.""" 

+

149 return LabelledDebug(label, self.debug, self.labels) 

+

150 

+

151 def message_prefix(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 """The prefix to use on messages, combining the labels.""" 

+

153 prefixes = self.labels + [''] 

+

154 return ":\n".join(" "*i+label for i, label in enumerate(prefixes)) 

+

155 

+

156 def write(self, message: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 """Write `message`, but with the labels prepended.""" 

+

158 self.debug.write(f"{self.message_prefix()}{message}") 

+

159 

+

160 

+

161class DebugPluginWrapper(CoveragePlugin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 """Wrap a plugin, and use debug to report on what it's doing.""" 

+

163 

+

164 def __init__(self, plugin: CoveragePlugin, debug: LabelledDebug) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 super().__init__() 

+

166 self.plugin = plugin 

+

167 self.debug = debug 

+

168 

+

169 def file_tracer(self, filename: str) -> Optional[FileTracer]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 tracer = self.plugin.file_tracer(filename) 

+

171 self.debug.write(f"file_tracer({filename!r}) --> {tracer!r}") 

+

172 if tracer: 

+

173 debug = self.debug.add_label(f"file {filename!r}") 

+

174 tracer = DebugFileTracerWrapper(tracer, debug) 

+

175 return tracer 

+

176 

+

177 def file_reporter(self, filename: str) -> Union[FileReporter, str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 reporter = self.plugin.file_reporter(filename) 

+

179 assert isinstance(reporter, FileReporter) 

+

180 self.debug.write(f"file_reporter({filename!r}) --> {reporter!r}") 

+

181 if reporter: 

+

182 debug = self.debug.add_label(f"file {filename!r}") 

+

183 reporter = DebugFileReporterWrapper(filename, reporter, debug) 

+

184 return reporter 

+

185 

+

186 def dynamic_context(self, frame: FrameType) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 context = self.plugin.dynamic_context(frame) 

+

188 self.debug.write(f"dynamic_context({frame!r}) --> {context!r}") 

+

189 return context 

+

190 

+

191 def find_executable_files(self, src_dir: str) -> Iterable[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 executable_files = self.plugin.find_executable_files(src_dir) 

+

193 self.debug.write(f"find_executable_files({src_dir!r}) --> {executable_files!r}") 

+

194 return executable_files 

+

195 

+

196 def configure(self, config: TConfigurable) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 self.debug.write(f"configure({config!r})") 

+

198 self.plugin.configure(config) 

+

199 

+

200 def sys_info(self) -> Iterable[Tuple[str, Any]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 return self.plugin.sys_info() 

+

202 

+

203 

+

204class DebugFileTracerWrapper(FileTracer): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 """A debugging `FileTracer`.""" 

+

206 

+

207 def __init__(self, tracer: FileTracer, debug: LabelledDebug) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 self.tracer = tracer 

+

209 self.debug = debug 

+

210 

+

211 def _show_frame(self, frame: FrameType) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 """A short string identifying a frame, for debug messages.""" 

+

213 return "%s@%d" % ( 

+

214 os.path.basename(frame.f_code.co_filename), 

+

215 frame.f_lineno, 

+

216 ) 

+

217 

+

218 def source_filename(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 sfilename = self.tracer.source_filename() 

+

220 self.debug.write(f"source_filename() --> {sfilename!r}") 

+

221 return sfilename 

+

222 

+

223 def has_dynamic_source_filename(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 has = self.tracer.has_dynamic_source_filename() 

+

225 self.debug.write(f"has_dynamic_source_filename() --> {has!r}") 

+

226 return has 

+

227 

+

228 def dynamic_source_filename(self, filename: str, frame: FrameType) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 dyn = self.tracer.dynamic_source_filename(filename, frame) 

+

230 self.debug.write("dynamic_source_filename({!r}, {}) --> {!r}".format( 

+

231 filename, self._show_frame(frame), dyn, 

+

232 )) 

+

233 return dyn 

+

234 

+

235 def line_number_range(self, frame: FrameType) -> Tuple[TLineNo, TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 pair = self.tracer.line_number_range(frame) 

+

237 self.debug.write(f"line_number_range({self._show_frame(frame)}) --> {pair!r}") 

+

238 return pair 

+

239 

+

240 

+

241class DebugFileReporterWrapper(FileReporter): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 """A debugging `FileReporter`.""" 

+

243 

+

244 def __init__(self, filename: str, reporter: FileReporter, debug: LabelledDebug) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 super().__init__(filename) 

+

246 self.reporter = reporter 

+

247 self.debug = debug 

+

248 

+

249 def relative_filename(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 ret = self.reporter.relative_filename() 

+

251 self.debug.write(f"relative_filename() --> {ret!r}") 

+

252 return ret 

+

253 

+

254 def lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 ret = self.reporter.lines() 

+

256 self.debug.write(f"lines() --> {ret!r}") 

+

257 return ret 

+

258 

+

259 def excluded_lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 ret = self.reporter.excluded_lines() 

+

261 self.debug.write(f"excluded_lines() --> {ret!r}") 

+

262 return ret 

+

263 

+

264 def translate_lines(self, lines: Iterable[TLineNo]) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 ret = self.reporter.translate_lines(lines) 

+

266 self.debug.write(f"translate_lines({lines!r}) --> {ret!r}") 

+

267 return ret 

+

268 

+

269 def translate_arcs(self, arcs: Iterable[TArc]) -> Set[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 ret = self.reporter.translate_arcs(arcs) 

+

271 self.debug.write(f"translate_arcs({arcs!r}) --> {ret!r}") 

+

272 return ret 

+

273 

+

274 def no_branch_lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 ret = self.reporter.no_branch_lines() 

+

276 self.debug.write(f"no_branch_lines() --> {ret!r}") 

+

277 return ret 

+

278 

+

279 def exit_counts(self) -> Dict[TLineNo, int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 ret = self.reporter.exit_counts() 

+

281 self.debug.write(f"exit_counts() --> {ret!r}") 

+

282 return ret 

+

283 

+

284 def arcs(self) -> Set[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 ret = self.reporter.arcs() 

+

286 self.debug.write(f"arcs() --> {ret!r}") 

+

287 return ret 

+

288 

+

289 def source(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 ret = self.reporter.source() 

+

291 self.debug.write("source() --> %d chars" % (len(ret),)) 

+

292 return ret 

+

293 

+

294 def source_token_lines(self) -> TSourceTokenLines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 ret = list(self.reporter.source_token_lines()) 

+

296 self.debug.write("source_token_lines() --> %d tokens" % (len(ret),)) 

+

297 return ret 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_python_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_python_py.html new file mode 100644 index 000000000..c8ebedf59 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_python_py.html @@ -0,0 +1,355 @@ + + + + + Coverage for coverage/python.py: 96.629% + + + + + +
+
+

+ Coverage for coverage/python.py: + 96.629% +

+ +

+ 134 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Python source expertise for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import types 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import zipimport 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from typing import Dict, Iterable, Optional, Set, TYPE_CHECKING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.exceptions import CoverageException, NoSource 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.files import canonical_filename, relative_filename, zip_location 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.misc import expensive, isolate_module, join_regex 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.parser import PythonParser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.phystokens import source_token_lines, source_encoding 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.plugin import FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.types import TArc, TLineNo, TMorf, TSourceTokenLines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 

+

23if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 from coverage import Coverage 

+

25 

+

26os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28 

+

29def read_python_source(filename: str) -> bytes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 """Read the Python source text from `filename`. 

+

31 

+

32 Returns bytes. 

+

33 

+

34 """ 

+

35 with open(filename, "rb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 source = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 

+

38 return source.replace(b"\r\n", b"\n").replace(b"\r", b"\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 

+

40 

+

41def get_python_source(filename: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 """Return the source code, as unicode.""" 

+

43 base, ext = os.path.splitext(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 if ext == ".py" and env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 exts = [".py", ".pyw"] 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

46 else: 

+

47 exts = [ext] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 source_bytes: Optional[bytes] 

+

50 for ext in exts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 try_filename = base + ext 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 if os.path.exists(try_filename): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 # A regular text file: open it. 

+

54 source_bytes = read_python_source(try_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 

+

57 # Maybe it's in a zip file? 

+

58 source_bytes = get_zip_bytes(try_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 if source_bytes is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 else: 

+

62 # Couldn't find source. 

+

63 raise NoSource(f"No source for code: '{filename}'.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 # Replace \f because of http://bugs.python.org/issue19035 

+

66 source_bytes = source_bytes.replace(b'\f', b' ') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 source = source_bytes.decode(source_encoding(source_bytes), "replace") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 

+

69 # Python code should always end with a line with a newline. 

+

70 if source and source[-1] != '\n': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 source += '\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 

+

73 return source 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 

+

76def get_zip_bytes(filename: str) -> Optional[bytes]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 """Get data from `filename` if it is a zip file path. 

+

78 

+

79 Returns the bytestring data read from the zip file, or None if no zip file 

+

80 could be found or `filename` isn't in it. The data returned will be 

+

81 an empty string if the file is empty. 

+

82 

+

83 """ 

+

84 zipfile_inner = zip_location(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 if zipfile_inner is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 zipfile, inner = zipfile_inner 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 zi = zipimport.zipimporter(zipfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 except zipimport.ZipImportError: 

+

90 return None 

+

91 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 data = zi.get_data(inner) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 except OSError: 

+

94 return None 

+

95 return data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 

+

99def source_for_file(filename: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 """Return the source filename for `filename`. 

+

101 

+

102 Given a file name being traced, return the best guess as to the source 

+

103 file to attribute it to. 

+

104 

+

105 """ 

+

106 if filename.endswith(".py"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 # .py files are themselves source files. 

+

108 return filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 

+

110 elif filename.endswith((".pyc", ".pyo")): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 # Bytecode files probably have source files near them. 

+

112 py_filename = filename[:-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 if os.path.exists(py_filename): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 # Found a .py file, use that. 

+

115 return py_filename 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

116 if env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 # On Windows, it could be a .pyw file. 

+

118 pyw_filename = py_filename + "w" 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

119 if os.path.exists(pyw_filename): 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

120 return pyw_filename 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

121 # Didn't find source, but it's probably the .py file we want. 

+

122 return py_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 

+

124 # No idea, just use the file name as-is. 

+

125 return filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 

+

127 

+

128def source_for_morf(morf: TMorf) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 """Get the source filename for the module-or-file `morf`.""" 

+

130 if hasattr(morf, '__file__') and morf.__file__: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 filename = morf.__file__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 elif isinstance(morf, types.ModuleType): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 # A module should have had .__file__, otherwise we can't use it. 

+

134 # This could be a PEP-420 namespace package. 

+

135 raise CoverageException(f"Module {morf} has no file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 else: 

+

137 filename = morf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 

+

139 filename = source_for_file(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 return filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 

+

142 

+

143class PythonFileReporter(FileReporter): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 """Report support for a Python file.""" 

+

145 

+

146 def __init__(self, morf: TMorf, coverage: Optional[Coverage] = None) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 self.coverage = coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 

+

149 filename = source_for_morf(morf) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 

+

151 fname = filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 canonicalize = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 if self.coverage is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 if self.coverage.config.relative_files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 canonicalize = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 if canonicalize: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 fname = canonical_filename(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 super().__init__(fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 

+

160 if hasattr(morf, '__name__'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 name = morf.__name__.replace(".", os.sep) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 if os.path.basename(filename).startswith('__init__.'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 name += os.sep + "__init__" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 name += ".py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 else: 

+

166 name = relative_filename(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 self.relname = name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 

+

169 self._source: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 self._parser: Optional[PythonParser] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 self._excluded = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 

+

173 def __repr__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 return f"<PythonFileReporter {self.filename!r}>" 

+

175 

+

176 def relative_filename(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 return self.relname 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 

+

179 @property 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 def parser(self) -> PythonParser: 

+

181 """Lazily create a :class:`PythonParser`.""" 

+

182 assert self.coverage is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 if self._parser is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 self._parser = PythonParser( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 filename=self.filename, 

+

186 exclude=self.coverage._exclude_regex('exclude'), 

+

187 ) 

+

188 self._parser.parse_source() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 return self._parser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 

+

191 def lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 """Return the line numbers of statements in the file.""" 

+

193 return self.parser.statements 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 

+

195 def excluded_lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 """Return the line numbers of statements in the file.""" 

+

197 return self.parser.excluded 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 

+

199 def translate_lines(self, lines: Iterable[TLineNo]) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 return self.parser.translate_lines(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 

+

202 def translate_arcs(self, arcs: Iterable[TArc]) -> Set[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 return self.parser.translate_arcs(arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 

+

205 @expensive 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 def no_branch_lines(self) -> Set[TLineNo]: 

+

207 assert self.coverage is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 no_branch = self.parser.lines_matching( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 join_regex(self.coverage.config.partial_list), 

+

210 join_regex(self.coverage.config.partial_always_list), 

+

211 ) 

+

212 return no_branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 

+

214 @expensive 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 def arcs(self) -> Set[TArc]: 

+

216 return self.parser.arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 

+

218 @expensive 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 def exit_counts(self) -> Dict[TLineNo, int]: 

+

220 return self.parser.exit_counts() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 

+

222 def missing_arc_description( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

223 self, 

+

224 start: TLineNo, 

+

225 end: TLineNo, 

+

226 executed_arcs: Optional[Iterable[TArc]] = None, 

+

227 ) -> str: 

+

228 return self.parser.missing_arc_description(start, end, executed_arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 

+

230 def source(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 if self._source is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 self._source = get_python_source(self.filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 return self._source 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 

+

235 def should_be_python(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 """Does it seem like this file should contain Python? 

+

237 

+

238 This is used to decide if a file reported as part of the execution of 

+

239 a program was really likely to have contained Python in the first 

+

240 place. 

+

241 

+

242 """ 

+

243 # Get the file extension. 

+

244 _, ext = os.path.splitext(self.filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 

+

246 # Anything named *.py* should be Python. 

+

247 if ext.startswith('.py'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 # A file with no extension should be Python. 

+

250 if not ext: 250 ↛ 251line 250 didn't jump to line 251, because the condition on line 250 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 return True 

+

252 # Everything else is probably not Python. 

+

253 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 

+

255 def source_token_lines(self) -> TSourceTokenLines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 return source_token_lines(self.source()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_pytracer_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_pytracer_py.html new file mode 100644 index 000000000..82edc9f2e --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_pytracer_py.html @@ -0,0 +1,436 @@ + + + + + Coverage for coverage/pytracer.py: 13.426% + + + + + +
+
+

+ Coverage for coverage/pytracer.py: + 13.426% +

+ +

+ 150 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Raw data collector for coverage.py.""" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

7 

+

8import atexit 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

9import dis 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

10import sys 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

11import threading 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

12 

+

13from types import FrameType, ModuleType 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

14from typing import Any, Callable, Dict, List, Optional, Set, Tuple, cast 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

15 

+

16from coverage import env 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

17from coverage.types import ( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

18 TArc, TFileDisposition, TLineNo, TTraceData, TTraceFileData, TTraceFn, 

+

19 TTracer, TWarnFn, 

+

20) 

+

21 

+

22# We need the YIELD_VALUE opcode below, in a comparison-friendly form. 

+

23RESUME = dis.opmap.get('RESUME') 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

24RETURN_VALUE = dis.opmap['RETURN_VALUE'] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

25if RESUME is None: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

26 YIELD_VALUE = dis.opmap['YIELD_VALUE'] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c

+

27 YIELD_FROM = dis.opmap['YIELD_FROM'] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c

+

28 YIELD_FROM_OFFSET = 0 if env.PYPY else 2 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c

+

29 

+

30# When running meta-coverage, this file can try to trace itself, which confuses 

+

31# everything. Don't trace ourselves. 

+

32 

+

33THIS_FILE = __file__.rstrip("co") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

34 

+

35class PyTracer(TTracer): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

36 """Python implementation of the raw data tracer.""" 

+

37 

+

38 # Because of poor implementations of trace-function-manipulating tools, 

+

39 # the Python trace function must be kept very simple. In particular, there 

+

40 # must be only one function ever set as the trace function, both through 

+

41 # sys.settrace, and as the return value from the trace function. Put 

+

42 # another way, the trace function must always return itself. It cannot 

+

43 # swap in other functions, or return None to avoid tracing a particular 

+

44 # frame. 

+

45 # 

+

46 # The trace manipulator that introduced this restriction is DecoratorTools, 

+

47 # which sets a trace function, and then later restores the pre-existing one 

+

48 # by calling sys.settrace with a function it found in the current frame. 

+

49 # 

+

50 # Systems that use DecoratorTools (or similar trace manipulations) must use 

+

51 # PyTracer to get accurate results. The command-line --timid argument is 

+

52 # used to force the use of this tracer. 

+

53 

+

54 def __init__(self) -> None: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

55 # pylint: disable=super-init-not-called 

+

56 # Attributes set from the collector: 

+

57 self.data: TTraceData 

+

58 self.trace_arcs = False 

+

59 self.should_trace: Callable[[str, FrameType], TFileDisposition] 

+

60 self.should_trace_cache: Dict[str, Optional[TFileDisposition]] 

+

61 self.should_start_context: Optional[Callable[[FrameType], Optional[str]]] = None 

+

62 self.switch_context: Optional[Callable[[Optional[str]], None]] = None 

+

63 self.warn: TWarnFn 

+

64 

+

65 # The threading module to use, if any. 

+

66 self.threading: Optional[ModuleType] = None 

+

67 

+

68 self.cur_file_data: Optional[TTraceFileData] = None 

+

69 self.last_line: TLineNo = 0 

+

70 self.cur_file_name: Optional[str] = None 

+

71 self.context: Optional[str] = None 

+

72 self.started_context = False 

+

73 

+

74 self.data_stack: List[Tuple[Optional[TTraceFileData], Optional[str], TLineNo, bool]] = [] 

+

75 self.thread: Optional[threading.Thread] = None 

+

76 self.stopped = False 

+

77 self._activity = False 

+

78 

+

79 self.in_atexit = False 

+

80 # On exit, self.in_atexit = True 

+

81 atexit.register(setattr, self, 'in_atexit', True) 

+

82 

+

83 # Cache a bound method on the instance, so that we don't have to 

+

84 # re-create a bound method object all the time. 

+

85 self._cached_bound_method_trace: TTraceFn = self._trace 

+

86 

+

87 def __repr__(self) -> str: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

88 me = id(self) 

+

89 points = sum(len(v) for v in self.data.values()) 

+

90 files = len(self.data) 

+

91 return f"<PyTracer at 0x{me:x}: {points} data points in {files} files>" 

+

92 

+

93 def log(self, marker: str, *args: Any) -> None: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

94 """For hard-core logging of what this tracer is doing.""" 

+

95 with open("/tmp/debug_trace.txt", "a") as f: 

+

96 f.write("{} {}[{}]".format( 

+

97 marker, 

+

98 id(self), 

+

99 len(self.data_stack), 

+

100 )) 

+

101 if 0: # if you want thread ids.. 

+

102 f.write(".{:x}.{:x}".format( # type: ignore[unreachable] 

+

103 self.thread.ident, 

+

104 self.threading.current_thread().ident, 

+

105 )) 

+

106 f.write(" {}".format(" ".join(map(str, args)))) 

+

107 if 0: # if you want callers.. 

+

108 f.write(" | ") # type: ignore[unreachable] 

+

109 stack = " / ".join( 

+

110 (fname or "???").rpartition("/")[-1] 

+

111 for _, fname, _, _ in self.data_stack 

+

112 ) 

+

113 f.write(stack) 

+

114 f.write("\n") 

+

115 

+

116 def _trace( 3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

117 self, 

+

118 frame: FrameType, 

+

119 event: str, 

+

120 arg: Any, # pylint: disable=unused-argument 

+

121 lineno: Optional[TLineNo] = None, # pylint: disable=unused-argument 

+

122 ) -> Optional[TTraceFn]: 

+

123 """The trace function passed to sys.settrace.""" 

+

124 

+

125 if THIS_FILE in frame.f_code.co_filename: 

+

126 return None 

+

127 

+

128 #self.log(":", frame.f_code.co_filename, frame.f_lineno, frame.f_code.co_name + "()", event) 

+

129 

+

130 if (self.stopped and sys.gettrace() == self._cached_bound_method_trace): # pylint: disable=comparison-with-callable 

+

131 # The PyTrace.stop() method has been called, possibly by another 

+

132 # thread, let's deactivate ourselves now. 

+

133 if 0: 

+

134 f = frame # type: ignore[unreachable] 

+

135 self.log("---\nX", f.f_code.co_filename, f.f_lineno) 

+

136 while f: 

+

137 self.log(">", f.f_code.co_filename, f.f_lineno, f.f_code.co_name, f.f_trace) 

+

138 f = f.f_back 

+

139 sys.settrace(None) 

+

140 try: 

+

141 self.cur_file_data, self.cur_file_name, self.last_line, self.started_context = ( 

+

142 self.data_stack.pop() 

+

143 ) 

+

144 except IndexError: 

+

145 self.log( 

+

146 "Empty stack!", 

+

147 frame.f_code.co_filename, 

+

148 frame.f_lineno, 

+

149 frame.f_code.co_name 

+

150 ) 

+

151 return None 

+

152 

+

153 # if event != 'call' and frame.f_code.co_filename != self.cur_file_name: 

+

154 # self.log("---\n*", frame.f_code.co_filename, self.cur_file_name, frame.f_lineno) 

+

155 

+

156 if event == 'call': 

+

157 # Should we start a new context? 

+

158 if self.should_start_context and self.context is None: 

+

159 context_maybe = self.should_start_context(frame) 

+

160 if context_maybe is not None: 

+

161 self.context = context_maybe 

+

162 started_context = True 

+

163 assert self.switch_context is not None 

+

164 self.switch_context(self.context) 

+

165 else: 

+

166 started_context = False 

+

167 else: 

+

168 started_context = False 

+

169 self.started_context = started_context 

+

170 

+

171 # Entering a new frame. Decide if we should trace in this file. 

+

172 self._activity = True 

+

173 self.data_stack.append( 

+

174 ( 

+

175 self.cur_file_data, 

+

176 self.cur_file_name, 

+

177 self.last_line, 

+

178 started_context, 

+

179 ) 

+

180 ) 

+

181 

+

182 # Improve tracing performance: when calling a function, both caller 

+

183 # and callee are often within the same file. if that's the case, we 

+

184 # don't have to re-check whether to trace the corresponding 

+

185 # function (which is a little bit expensive since it involves 

+

186 # dictionary lookups). This optimization is only correct if we 

+

187 # didn't start a context. 

+

188 filename = frame.f_code.co_filename 

+

189 if filename != self.cur_file_name or started_context: 

+

190 self.cur_file_name = filename 

+

191 disp = self.should_trace_cache.get(filename) 

+

192 if disp is None: 

+

193 disp = self.should_trace(filename, frame) 

+

194 self.should_trace_cache[filename] = disp 

+

195 

+

196 self.cur_file_data = None 

+

197 if disp.trace: 

+

198 tracename = disp.source_filename 

+

199 assert tracename is not None 

+

200 if tracename not in self.data: 

+

201 self.data[tracename] = set() # type: ignore[assignment] 

+

202 self.cur_file_data = self.data[tracename] 

+

203 else: 

+

204 frame.f_trace_lines = False 

+

205 elif not self.cur_file_data: 

+

206 frame.f_trace_lines = False 

+

207 

+

208 # The call event is really a "start frame" event, and happens for 

+

209 # function calls and re-entering generators. The f_lasti field is 

+

210 # -1 for calls, and a real offset for generators. Use <0 as the 

+

211 # line number for calls, and the real line number for generators. 

+

212 if RESUME is not None: 

+

213 # The current opcode is guaranteed to be RESUME. The argument 

+

214 # determines what kind of resume it is. 

+

215 oparg = frame.f_code.co_code[frame.f_lasti + 1] 

+

216 real_call = (oparg == 0) 

+

217 else: 

+

218 real_call = (getattr(frame, 'f_lasti', -1) < 0) 

+

219 if real_call: 

+

220 self.last_line = -frame.f_code.co_firstlineno 

+

221 else: 

+

222 self.last_line = frame.f_lineno 

+

223 

+

224 elif event == 'line': 

+

225 # Record an executed line. 

+

226 if self.cur_file_data is not None: 

+

227 flineno: TLineNo = frame.f_lineno 

+

228 

+

229 if self.trace_arcs: 

+

230 cast(Set[TArc], self.cur_file_data).add((self.last_line, flineno)) 

+

231 else: 

+

232 cast(Set[TLineNo], self.cur_file_data).add(flineno) 

+

233 self.last_line = flineno 

+

234 

+

235 elif event == 'return': 

+

236 if self.trace_arcs and self.cur_file_data: 

+

237 # Record an arc leaving the function, but beware that a 

+

238 # "return" event might just mean yielding from a generator. 

+

239 code = frame.f_code.co_code 

+

240 lasti = frame.f_lasti 

+

241 if RESUME is not None: 

+

242 if len(code) == lasti + 2: 

+

243 # A return from the end of a code object is a real return. 

+

244 real_return = True 

+

245 else: 

+

246 # it's a real return. 

+

247 real_return = (code[lasti + 2] != RESUME) 

+

248 else: 

+

249 if code[lasti] == RETURN_VALUE: 

+

250 real_return = True 

+

251 elif code[lasti] == YIELD_VALUE: 

+

252 real_return = False 

+

253 elif len(code) <= lasti + YIELD_FROM_OFFSET: 

+

254 real_return = True 

+

255 elif code[lasti + YIELD_FROM_OFFSET] == YIELD_FROM: 

+

256 real_return = False 

+

257 else: 

+

258 real_return = True 

+

259 if real_return: 

+

260 first = frame.f_code.co_firstlineno 

+

261 cast(Set[TArc], self.cur_file_data).add((self.last_line, -first)) 

+

262 

+

263 # Leaving this function, pop the filename stack. 

+

264 self.cur_file_data, self.cur_file_name, self.last_line, self.started_context = ( 

+

265 self.data_stack.pop() 

+

266 ) 

+

267 # Leaving a context? 

+

268 if self.started_context: 

+

269 assert self.switch_context is not None 

+

270 self.context = None 

+

271 self.switch_context(None) 

+

272 return self._cached_bound_method_trace 

+

273 

+

274 def start(self) -> TTraceFn: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

275 """Start this Tracer. 

+

276 

+

277 Return a Python function suitable for use with sys.settrace(). 

+

278 

+

279 """ 

+

280 self.stopped = False 

+

281 if self.threading: 

+

282 if self.thread is None: 

+

283 self.thread = self.threading.current_thread() 

+

284 else: 

+

285 if self.thread.ident != self.threading.current_thread().ident: 

+

286 # Re-starting from a different thread!? Don't set the trace 

+

287 # function, but we are marked as running again, so maybe it 

+

288 # will be ok? 

+

289 #self.log("~", "starting on different threads") 

+

290 return self._cached_bound_method_trace 

+

291 

+

292 sys.settrace(self._cached_bound_method_trace) 

+

293 return self._cached_bound_method_trace 

+

294 

+

295 def stop(self) -> None: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

296 """Stop this Tracer.""" 

+

297 # Get the active tracer callback before setting the stop flag to be 

+

298 # able to detect if the tracer was changed prior to stopping it. 

+

299 tf = sys.gettrace() 

+

300 

+

301 # Set the stop flag. The actual call to sys.settrace(None) will happen 

+

302 # in the self._trace callback itself to make sure to call it from the 

+

303 # right thread. 

+

304 self.stopped = True 

+

305 

+

306 if self.threading: 

+

307 assert self.thread is not None 

+

308 if self.thread.ident != self.threading.current_thread().ident: 

+

309 # Called on a different thread than started us: we can't unhook 

+

310 # ourselves, but we've set the flag that we should stop, so we 

+

311 # won't do any more tracing. 

+

312 #self.log("~", "stopping on different threads") 

+

313 return 

+

314 

+

315 if self.warn: 

+

316 # PyPy clears the trace function before running atexit functions, 

+

317 # so don't warn if we are in atexit on PyPy and the trace function 

+

318 # has changed to None. 

+

319 dont_warn = (env.PYPY and env.PYPYVERSION >= (5, 4) and self.in_atexit and tf is None) 

+

320 if (not dont_warn) and tf != self._cached_bound_method_trace: # pylint: disable=comparison-with-callable 

+

321 self.warn( 

+

322 "Trace function changed, data is likely wrong: " + 

+

323 f"{tf!r} != {self._cached_bound_method_trace!r}", 

+

324 slug="trace-changed", 

+

325 ) 

+

326 

+

327 def activity(self) -> bool: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

328 """Has there been any activity?""" 

+

329 return self._activity 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

330 

+

331 def reset_activity(self) -> None: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

332 """Reset the activity() flag.""" 

+

333 self._activity = False 

+

334 

+

335 def get_stats(self) -> Optional[Dict[str, int]]: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

336 """Return a dictionary of statistics, or None.""" 

+

337 return None 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_report_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_report_py.html new file mode 100644 index 000000000..0f89bffda --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_report_py.html @@ -0,0 +1,216 @@ + + + + + Coverage for coverage/report.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/report.py: + 100.000% +

+ +

+ 55 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Reporter foundation for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from typing import Callable, Iterable, Iterator, IO, Optional, Tuple, TYPE_CHECKING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from coverage.exceptions import NoDataError, NotPython 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from coverage.files import prep_patterns, GlobMatcher 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.misc import ensure_dir_for_file, file_be_gone 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.plugin import FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.results import Analysis 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.types import Protocol, TMorf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 from coverage import Coverage 

+

21 

+

22 

+

23class Reporter(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 """What we expect of reporters.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26 report_type: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28 def report(self, morfs: Optional[Iterable[TMorf]], outfile: IO[str]) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 """Generate a report of `morfs`, written to `outfile`.""" 

+

30 

+

31 

+

32def render_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 output_path: str, 

+

34 reporter: Reporter, 

+

35 morfs: Optional[Iterable[TMorf]], 

+

36 msgfn: Callable[[str], None], 

+

37) -> float: 

+

38 """Run a one-file report generator, managing the output file. 

+

39 

+

40 This function ensures the output file is ready to be written to. Then writes 

+

41 the report to it. Then closes the file and cleans up. 

+

42 

+

43 """ 

+

44 file_to_close = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 delete_file = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 

+

47 if output_path == "-": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 outfile = sys.stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 else: 

+

50 # Ensure that the output directory is created; done here because this 

+

51 # report pre-opens the output file. HtmlReporter does this on its own 

+

52 # because its task is more complex, being multiple files. 

+

53 ensure_dir_for_file(output_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 outfile = open(output_path, "w", encoding="utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 file_to_close = outfile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 delete_file = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 

+

58 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 ret = reporter.report(morfs, outfile=outfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 if file_to_close is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 msgfn(f"Wrote {reporter.report_type} to {output_path}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 delete_file = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 return ret 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 finally: 

+

65 if file_to_close is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 file_to_close.close() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 if delete_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 file_be_gone(output_path) # pragma: part covered (doesn't return) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 

+

70 

+

71def get_analysis_to_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 coverage: Coverage, 

+

73 morfs: Optional[Iterable[TMorf]], 

+

74) -> Iterator[Tuple[FileReporter, Analysis]]: 

+

75 """Get the files to report on. 

+

76 

+

77 For each morf in `morfs`, if it should be reported on (based on the omit 

+

78 and include configuration options), yield a pair, the `FileReporter` and 

+

79 `Analysis` for the morf. 

+

80 

+

81 """ 

+

82 file_reporters = coverage._get_file_reporters(morfs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 config = coverage.config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 

+

85 if config.report_include: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 matcher = GlobMatcher(prep_patterns(config.report_include), "report_include") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 file_reporters = [fr for fr in file_reporters if matcher.match(fr.filename)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 

+

89 if config.report_omit: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 matcher = GlobMatcher(prep_patterns(config.report_omit), "report_omit") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 file_reporters = [fr for fr in file_reporters if not matcher.match(fr.filename)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 

+

93 if not file_reporters: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 raise NoDataError("No data to report.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96 for fr in sorted(file_reporters): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 analysis = coverage._analyze(fr) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 except NotPython: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 # Only report errors for .py files, and only if we didn't 

+

101 # explicitly suppress those errors. 

+

102 # NotPython is only raised by PythonFileReporter, which has a 

+

103 # should_be_python() method. 

+

104 if fr.should_be_python(): # type: ignore[attr-defined] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 if config.ignore_errors: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 msg = f"Couldn't parse Python file '{fr.filename}'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 coverage._warn(msg, slug="couldnt-parse") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 else: 

+

109 raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 except Exception as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 if config.ignore_errors: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 msg = f"Couldn't parse '{fr.filename}': {exc}".rstrip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 coverage._warn(msg, slug="couldnt-parse") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 else: 

+

115 raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 else: 

+

117 yield (fr, analysis) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_results_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_results_py.html new file mode 100644 index 000000000..9f8d51584 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_results_py.html @@ -0,0 +1,482 @@ + + + + + Coverage for coverage/results.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/results.py: + 100.000% +

+ +

+ 177 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Results of coverage measurement.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import collections 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from typing import Callable, Dict, Iterable, List, Optional, Tuple, TYPE_CHECKING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from coverage.debug import AutoReprMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from coverage.exceptions import ConfigError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.misc import nice_pair 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.types import TArc, TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 from coverage.data import CoverageData 

+

19 from coverage.plugin import FileReporter 

+

20 

+

21 

+

22class Analysis: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 """The results of analyzing a FileReporter.""" 

+

24 

+

25 def __init__( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 self, 

+

27 data: CoverageData, 

+

28 precision: int, 

+

29 file_reporter: FileReporter, 

+

30 file_mapper: Callable[[str], str], 

+

31 ) -> None: 

+

32 self.data = data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 self.file_reporter = file_reporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 self.filename = file_mapper(self.file_reporter.filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 self.statements = self.file_reporter.lines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 self.excluded = self.file_reporter.excluded_lines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 

+

38 # Identify missing statements. 

+

39 executed: Iterable[TLineNo] 

+

40 executed = self.data.lines(self.filename) or [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 executed = self.file_reporter.translate_lines(executed) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 self.executed = executed 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 self.missing = self.statements - self.executed 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 

+

45 if self.data.has_arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 self._arc_possibilities = sorted(self.file_reporter.arcs()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 self.exit_counts = self.file_reporter.exit_counts() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 self.no_branch = self.file_reporter.no_branch_lines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 n_branches = self._total_branches() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 mba = self.missing_branch_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 n_partial_branches = sum(len(v) for k,v in mba.items() if k not in self.missing) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 n_missing_branches = sum(len(v) for k,v in mba.items()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 else: 

+

54 self._arc_possibilities = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 self.exit_counts = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 self.no_branch = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 n_branches = n_partial_branches = n_missing_branches = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 

+

59 self.numbers = Numbers( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 precision=precision, 

+

61 n_files=1, 

+

62 n_statements=len(self.statements), 

+

63 n_excluded=len(self.excluded), 

+

64 n_missing=len(self.missing), 

+

65 n_branches=n_branches, 

+

66 n_partial_branches=n_partial_branches, 

+

67 n_missing_branches=n_missing_branches, 

+

68 ) 

+

69 

+

70 def missing_formatted(self, branches: bool = False) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 """The missing line numbers, formatted nicely. 

+

72 

+

73 Returns a string like "1-2, 5-11, 13-14". 

+

74 

+

75 If `branches` is true, includes the missing branch arcs also. 

+

76 

+

77 """ 

+

78 if branches and self.has_arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 arcs = self.missing_branch_arcs().items() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 else: 

+

81 arcs = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 

+

83 return format_lines(self.statements, self.missing, arcs=arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 

+

85 def has_arcs(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 """Were arcs measured in this result?""" 

+

87 return self.data.has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 

+

89 def arc_possibilities(self) -> List[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 """Returns a sorted list of the arcs in the code.""" 

+

91 return self._arc_possibilities 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 

+

93 def arcs_executed(self) -> List[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 """Returns a sorted list of the arcs actually executed in the code.""" 

+

95 executed: Iterable[TArc] 

+

96 executed = self.data.arcs(self.filename) or [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 executed = self.file_reporter.translate_arcs(executed) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 return sorted(executed) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 

+

100 def arcs_missing(self) -> List[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 """Returns a sorted list of the un-executed arcs in the code.""" 

+

102 possible = self.arc_possibilities() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 executed = self.arcs_executed() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 missing = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 p for p in possible 

+

106 if p not in executed 

+

107 and p[0] not in self.no_branch 

+

108 and p[1] not in self.excluded 

+

109 ) 

+

110 return sorted(missing) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 

+

112 def arcs_unpredicted(self) -> List[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 """Returns a sorted list of the executed arcs missing from the code.""" 

+

114 possible = self.arc_possibilities() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 executed = self.arcs_executed() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 # Exclude arcs here which connect a line to itself. They can occur 

+

117 # in executed data in some cases. This is where they can cause 

+

118 # trouble, and here is where it's the least burden to remove them. 

+

119 # Also, generators can somehow cause arcs from "enter" to "exit", so 

+

120 # make sure we have at least one positive value. 

+

121 unpredicted = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 e for e in executed 

+

123 if e not in possible 

+

124 and e[0] != e[1] 

+

125 and (e[0] > 0 or e[1] > 0) 

+

126 ) 

+

127 return sorted(unpredicted) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 

+

129 def _branch_lines(self) -> List[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 """Returns a list of line numbers that have more than one exit.""" 

+

131 return [l1 for l1,count in self.exit_counts.items() if count > 1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 

+

133 def _total_branches(self) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 """How many total branches are there?""" 

+

135 return sum(count for count in self.exit_counts.values() if count > 1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 

+

137 def missing_branch_arcs(self) -> Dict[TLineNo, List[TLineNo]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 """Return arcs that weren't executed from branch lines. 

+

139 

+

140 Returns {l1:[l2a,l2b,...], ...} 

+

141 

+

142 """ 

+

143 missing = self.arcs_missing() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 branch_lines = set(self._branch_lines()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 mba = collections.defaultdict(list) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 for l1, l2 in missing: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 if l1 in branch_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 mba[l1].append(l2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 return mba 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 

+

151 def executed_branch_arcs(self) -> Dict[TLineNo, List[TLineNo]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 """Return arcs that were executed from branch lines. 

+

153 

+

154 Returns {l1:[l2a,l2b,...], ...} 

+

155 

+

156 """ 

+

157 executed = self.arcs_executed() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 branch_lines = set(self._branch_lines()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 eba = collections.defaultdict(list) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 for l1, l2 in executed: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 if l1 in branch_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 eba[l1].append(l2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 return eba 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 

+

165 def branch_stats(self) -> Dict[TLineNo, Tuple[int, int]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 """Get stats about branches. 

+

167 

+

168 Returns a dict mapping line numbers to a tuple: 

+

169 (total_exits, taken_exits). 

+

170 """ 

+

171 

+

172 missing_arcs = self.missing_branch_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 stats = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 for lnum in self._branch_lines(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 exits = self.exit_counts[lnum] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 missing = len(missing_arcs[lnum]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 stats[lnum] = (exits, exits - missing) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 return stats 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 

+

180 

+

181class Numbers(AutoReprMixin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 """The numerical results of measuring coverage. 

+

183 

+

184 This holds the basic statistics from `Analysis`, and is used to roll 

+

185 up statistics across files. 

+

186 

+

187 """ 

+

188 

+

189 def __init__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

190 self, 

+

191 precision: int = 0, 

+

192 n_files: int = 0, 

+

193 n_statements: int = 0, 

+

194 n_excluded: int = 0, 

+

195 n_missing: int = 0, 

+

196 n_branches: int = 0, 

+

197 n_partial_branches: int = 0, 

+

198 n_missing_branches: int = 0, 

+

199 ) -> None: 

+

200 assert 0 <= precision < 10 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 self._precision = precision 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 self._near0 = 1.0 / 10**precision 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 self._near100 = 100.0 - self._near0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 self.n_files = n_files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 self.n_statements = n_statements 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 self.n_excluded = n_excluded 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 self.n_missing = n_missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 self.n_branches = n_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 self.n_partial_branches = n_partial_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 self.n_missing_branches = n_missing_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 

+

212 def init_args(self) -> List[int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 """Return a list for __init__(*args) to recreate this object.""" 

+

214 return [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 self._precision, 

+

216 self.n_files, self.n_statements, self.n_excluded, self.n_missing, 

+

217 self.n_branches, self.n_partial_branches, self.n_missing_branches, 

+

218 ] 

+

219 

+

220 @property 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 def n_executed(self) -> int: 

+

222 """Returns the number of executed statements.""" 

+

223 return self.n_statements - self.n_missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 

+

225 @property 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 def n_executed_branches(self) -> int: 

+

227 """Returns the number of executed branches.""" 

+

228 return self.n_branches - self.n_missing_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 

+

230 @property 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 def pc_covered(self) -> float: 

+

232 """Returns a single percentage value for coverage.""" 

+

233 if self.n_statements > 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 numerator, denominator = self.ratio_covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 pc_cov = (100.0 * numerator) / denominator 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 else: 

+

237 pc_cov = 100.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 return pc_cov 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 

+

240 @property 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 def pc_covered_str(self) -> str: 

+

242 """Returns the percent covered, as a string, without a percent sign. 

+

243 

+

244 Note that "0" is only returned when the value is truly zero, and "100" 

+

245 is only returned when the value is truly 100. Rounding can never 

+

246 result in either "0" or "100". 

+

247 

+

248 """ 

+

249 return self.display_covered(self.pc_covered) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 

+

251 def display_covered(self, pc: float) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 """Return a displayable total percentage, as a string. 

+

253 

+

254 Note that "0" is only returned when the value is truly zero, and "100" 

+

255 is only returned when the value is truly 100. Rounding can never 

+

256 result in either "0" or "100". 

+

257 

+

258 """ 

+

259 if 0 < pc < self._near0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 pc = self._near0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 elif self._near100 < pc < 100: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 pc = self._near100 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 else: 

+

264 pc = round(pc, self._precision) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 return "%.*f" % (self._precision, pc) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 

+

267 def pc_str_width(self) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 """How many characters wide can pc_covered_str be?""" 

+

269 width = 3 # "100" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 if self._precision > 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 width += 1 + self._precision 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 return width 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 

+

274 @property 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 def ratio_covered(self) -> Tuple[int, int]: 

+

276 """Return a numerator and denominator for the coverage ratio.""" 

+

277 numerator = self.n_executed + self.n_executed_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 denominator = self.n_statements + self.n_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 return numerator, denominator 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 

+

281 def __add__(self, other: Numbers) -> Numbers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 nums = Numbers(precision=self._precision) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 nums.n_files = self.n_files + other.n_files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 nums.n_statements = self.n_statements + other.n_statements 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 nums.n_excluded = self.n_excluded + other.n_excluded 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 nums.n_missing = self.n_missing + other.n_missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 nums.n_branches = self.n_branches + other.n_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 nums.n_partial_branches = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 self.n_partial_branches + other.n_partial_branches 

+

290 ) 

+

291 nums.n_missing_branches = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 self.n_missing_branches + other.n_missing_branches 

+

293 ) 

+

294 return nums 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 

+

296 def __radd__(self, other: int) -> Numbers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 # Implementing 0+Numbers allows us to sum() a list of Numbers. 

+

298 assert other == 0 # we only ever call it this way. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 return self 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 

+

301 

+

302def _line_ranges( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 statements: Iterable[TLineNo], 

+

304 lines: Iterable[TLineNo], 

+

305) -> List[Tuple[TLineNo, TLineNo]]: 

+

306 """Produce a list of ranges for `format_lines`.""" 

+

307 statements = sorted(statements) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 lines = sorted(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 

+

310 pairs = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 start = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 lidx = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 for stmt in statements: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 if lidx >= len(lines): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 if stmt == lines[lidx]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 lidx += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 if not start: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 start = stmt 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 end = stmt 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 elif start: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 pairs.append((start, end)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 start = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 if start: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 pairs.append((start, end)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 return pairs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 

+

328 

+

329def format_lines( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

330 statements: Iterable[TLineNo], 

+

331 lines: Iterable[TLineNo], 

+

332 arcs: Optional[Iterable[Tuple[TLineNo, List[TLineNo]]]] = None, 

+

333) -> str: 

+

334 """Nicely format a list of line numbers. 

+

335 

+

336 Format a list of line numbers for printing by coalescing groups of lines as 

+

337 long as the lines represent consecutive statements. This will coalesce 

+

338 even if there are gaps between statements. 

+

339 

+

340 For example, if `statements` is [1,2,3,4,5,10,11,12,13,14] and 

+

341 `lines` is [1,2,5,10,11,13,14] then the result will be "1-2, 5-11, 13-14". 

+

342 

+

343 Both `lines` and `statements` can be any iterable. All of the elements of 

+

344 `lines` must be in `statements`, and all of the values must be positive 

+

345 integers. 

+

346 

+

347 If `arcs` is provided, they are (start,[end,end,end]) pairs that will be 

+

348 included in the output as long as start isn't in `lines`. 

+

349 

+

350 """ 

+

351 line_items = [(pair[0], nice_pair(pair)) for pair in _line_ranges(statements, lines)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 if arcs is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 line_exits = sorted(arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 for line, exits in line_exits: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 for ex in sorted(exits): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 if line not in lines and ex not in lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 dest = (ex if ex > 0 else "exit") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 line_items.append((line, f"{line}->{dest}")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 

+

360 ret = ', '.join(t[-1] for t in sorted(line_items)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 return ret 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 

+

363 

+

364def should_fail_under(total: float, fail_under: float, precision: int) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 """Determine if a total should fail due to fail-under. 

+

366 

+

367 `total` is a float, the coverage measurement total. `fail_under` is the 

+

368 fail_under setting to compare with. `precision` is the number of digits 

+

369 to consider after the decimal point. 

+

370 

+

371 Returns True if the total should fail. 

+

372 

+

373 """ 

+

374 # We can never achieve higher than 100% coverage, or less than zero. 

+

375 if not (0 <= fail_under <= 100.0): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 msg = f"fail_under={fail_under} is invalid. Must be between 0 and 100." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 raise ConfigError(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 

+

379 # Special case for fail_under=100, it must really be 100. 

+

380 if fail_under == 100.0 and total != 100.0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 

+

383 return round(total, precision) < fail_under 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_sqldata_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_sqldata_py.html new file mode 100644 index 000000000..3aec6bdbd --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_sqldata_py.html @@ -0,0 +1,1378 @@ + + + + + Coverage for coverage/sqldata.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/sqldata.py: + 100.000% +

+ +

+ 570 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""SQLite coverage data.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import collections 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import contextlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import functools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import itertools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import random 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17import socket 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18import sqlite3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21import threading 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22import zlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 cast, Any, Callable, Collection, Dict, Iterable, Iterator, List, Mapping, 

+

26 Optional, Sequence, Set, Tuple, TypeVar, Union, 

+

27) 

+

28 

+

29from coverage.debug import NoDebugging, AutoReprMixin, clipped_repr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30from coverage.exceptions import CoverageException, DataError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31from coverage.files import PathAliases 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32from coverage.misc import file_be_gone, isolate_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33from coverage.numbits import numbits_to_nums, numbits_union, nums_to_numbits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34from coverage.types import FilePath, TArc, TDebugCtl, TLineNo, TWarnFn 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35from coverage.version import __version__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 

+

39# If you change the schema: increment the SCHEMA_VERSION and update the 

+

40# docs in docs/dbschema.rst by running "make cogdoc". 

+

41 

+

42SCHEMA_VERSION = 7 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 

+

44# Schema versions: 

+

45# 1: Released in 5.0a2 

+

46# 2: Added contexts in 5.0a3. 

+

47# 3: Replaced line table with line_map table. 

+

48# 4: Changed line_map.bitmap to line_map.numbits. 

+

49# 5: Added foreign key declarations. 

+

50# 6: Key-value in meta. 

+

51# 7: line_map -> line_bits 

+

52 

+

53SCHEMA = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54CREATE TABLE coverage_schema ( 

+

55 -- One row, to record the version of the schema in this db. 

+

56 version integer 

+

57); 

+

58 

+

59CREATE TABLE meta ( 

+

60 -- Key-value pairs, to record metadata about the data 

+

61 key text, 

+

62 value text, 

+

63 unique (key) 

+

64 -- Possible keys: 

+

65 -- 'has_arcs' boolean -- Is this data recording branches? 

+

66 -- 'sys_argv' text -- The coverage command line that recorded the data. 

+

67 -- 'version' text -- The version of coverage.py that made the file. 

+

68 -- 'when' text -- Datetime when the file was created. 

+

69); 

+

70 

+

71CREATE TABLE file ( 

+

72 -- A row per file measured. 

+

73 id integer primary key, 

+

74 path text, 

+

75 unique (path) 

+

76); 

+

77 

+

78CREATE TABLE context ( 

+

79 -- A row per context measured. 

+

80 id integer primary key, 

+

81 context text, 

+

82 unique (context) 

+

83); 

+

84 

+

85CREATE TABLE line_bits ( 

+

86 -- If recording lines, a row per context per file executed. 

+

87 -- All of the line numbers for that file/context are in one numbits. 

+

88 file_id integer, -- foreign key to `file`. 

+

89 context_id integer, -- foreign key to `context`. 

+

90 numbits blob, -- see the numbits functions in coverage.numbits 

+

91 foreign key (file_id) references file (id), 

+

92 foreign key (context_id) references context (id), 

+

93 unique (file_id, context_id) 

+

94); 

+

95 

+

96CREATE TABLE arc ( 

+

97 -- If recording branches, a row per context per from/to line transition executed. 

+

98 file_id integer, -- foreign key to `file`. 

+

99 context_id integer, -- foreign key to `context`. 

+

100 fromno integer, -- line number jumped from. 

+

101 tono integer, -- line number jumped to. 

+

102 foreign key (file_id) references file (id), 

+

103 foreign key (context_id) references context (id), 

+

104 unique (file_id, context_id, fromno, tono) 

+

105); 

+

106 

+

107CREATE TABLE tracer ( 

+

108 -- A row per file indicating the tracer used for that file. 

+

109 file_id integer primary key, 

+

110 tracer text, 

+

111 foreign key (file_id) references file (id) 

+

112); 

+

113""" 

+

114 

+

115TMethod = TypeVar("TMethod", bound=Callable[..., Any]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 

+

117def _locked(method: TMethod) -> TMethod: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 """A decorator for methods that should hold self._lock.""" 

+

119 @functools.wraps(method) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 def _wrapped(self: CoverageData, *args: Any, **kwargs: Any) -> Any: 

+

121 if self._debug.should("lock"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 self._debug.write(f"Locking {self._lock!r} for {method.__name__}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 with self._lock: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 if self._debug.should("lock"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 self._debug.write(f"Locked {self._lock!r} for {method.__name__}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 return method(self, *args, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 return _wrapped # type: ignore[return-value] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 

+

129 

+

130class CoverageData(AutoReprMixin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 """Manages collected coverage data, including file storage. 

+

132 

+

133 This class is the public supported API to the data that coverage.py 

+

134 collects during program execution. It includes information about what code 

+

135 was executed. It does not include information from the analysis phase, to 

+

136 determine what lines could have been executed, or what lines were not 

+

137 executed. 

+

138 

+

139 .. note:: 

+

140 

+

141 The data file is currently a SQLite database file, with a 

+

142 :ref:`documented schema <dbschema>`. The schema is subject to change 

+

143 though, so be careful about querying it directly. Use this API if you 

+

144 can to isolate yourself from changes. 

+

145 

+

146 There are a number of kinds of data that can be collected: 

+

147 

+

148 * **lines**: the line numbers of source lines that were executed. 

+

149 These are always available. 

+

150 

+

151 * **arcs**: pairs of source and destination line numbers for transitions 

+

152 between source lines. These are only available if branch coverage was 

+

153 used. 

+

154 

+

155 * **file tracer names**: the module names of the file tracer plugins that 

+

156 handled each file in the data. 

+

157 

+

158 Lines, arcs, and file tracer names are stored for each source file. File 

+

159 names in this API are case-sensitive, even on platforms with 

+

160 case-insensitive file systems. 

+

161 

+

162 A data file either stores lines, or arcs, but not both. 

+

163 

+

164 A data file is associated with the data when the :class:`CoverageData` 

+

165 is created, using the parameters `basename`, `suffix`, and `no_disk`. The 

+

166 base name can be queried with :meth:`base_filename`, and the actual file 

+

167 name being used is available from :meth:`data_filename`. 

+

168 

+

169 To read an existing coverage.py data file, use :meth:`read`. You can then 

+

170 access the line, arc, or file tracer data with :meth:`lines`, :meth:`arcs`, 

+

171 or :meth:`file_tracer`. 

+

172 

+

173 The :meth:`has_arcs` method indicates whether arc data is available. You 

+

174 can get a set of the files in the data with :meth:`measured_files`. As 

+

175 with most Python containers, you can determine if there is any data at all 

+

176 by using this object as a boolean value. 

+

177 

+

178 The contexts for each line in a file can be read with 

+

179 :meth:`contexts_by_lineno`. 

+

180 

+

181 To limit querying to certain contexts, use :meth:`set_query_context` or 

+

182 :meth:`set_query_contexts`. These will narrow the focus of subsequent 

+

183 :meth:`lines`, :meth:`arcs`, and :meth:`contexts_by_lineno` calls. The set 

+

184 of all measured context names can be retrieved with 

+

185 :meth:`measured_contexts`. 

+

186 

+

187 Most data files will be created by coverage.py itself, but you can use 

+

188 methods here to create data files if you like. The :meth:`add_lines`, 

+

189 :meth:`add_arcs`, and :meth:`add_file_tracers` methods add data, in ways 

+

190 that are convenient for coverage.py. 

+

191 

+

192 To record data for contexts, use :meth:`set_context` to set a context to 

+

193 be used for subsequent :meth:`add_lines` and :meth:`add_arcs` calls. 

+

194 

+

195 To add a source file without any measured data, use :meth:`touch_file`, 

+

196 or :meth:`touch_files` for a list of such files. 

+

197 

+

198 Write the data to its file with :meth:`write`. 

+

199 

+

200 You can clear the data in memory with :meth:`erase`. Data for specific 

+

201 files can be removed from the database with :meth:`purge_files`. 

+

202 

+

203 Two data collections can be combined by using :meth:`update` on one 

+

204 :class:`CoverageData`, passing it the other. 

+

205 

+

206 Data in a :class:`CoverageData` can be serialized and deserialized with 

+

207 :meth:`dumps` and :meth:`loads`. 

+

208 

+

209 The methods used during the coverage.py collection phase 

+

210 (:meth:`add_lines`, :meth:`add_arcs`, :meth:`set_context`, and 

+

211 :meth:`add_file_tracers`) are thread-safe. Other methods may not be. 

+

212 

+

213 """ 

+

214 

+

215 def __init__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

216 self, 

+

217 basename: Optional[FilePath] = None, 

+

218 suffix: Optional[Union[str, bool]] = None, 

+

219 no_disk: bool = False, 

+

220 warn: Optional[TWarnFn] = None, 

+

221 debug: Optional[TDebugCtl] = None, 

+

222 ) -> None: 

+

223 """Create a :class:`CoverageData` object to hold coverage-measured data. 

+

224 

+

225 Arguments: 

+

226 basename (str): the base name of the data file, defaulting to 

+

227 ".coverage". This can be a path to a file in another directory. 

+

228 suffix (str or bool): has the same meaning as the `data_suffix` 

+

229 argument to :class:`coverage.Coverage`. 

+

230 no_disk (bool): if True, keep all data in memory, and don't 

+

231 write any disk file. 

+

232 warn: a warning callback function, accepting a warning message 

+

233 argument. 

+

234 debug: a `DebugControl` object (optional) 

+

235 

+

236 """ 

+

237 self._no_disk = no_disk 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 self._basename = os.path.abspath(basename or ".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 self._suffix = suffix 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 self._warn = warn 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 self._debug = debug or NoDebugging() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 

+

243 self._choose_filename() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 # Maps filenames to row ids. 

+

245 self._file_map: Dict[str, int] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 # Maps thread ids to SqliteDb objects. 

+

247 self._dbs: Dict[int, SqliteDb] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 self._pid = os.getpid() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 # Synchronize the operations used during collection. 

+

250 self._lock = threading.RLock() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 

+

252 # Are we in sync with the data file? 

+

253 self._have_used = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 

+

255 self._has_lines = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 self._has_arcs = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 

+

258 self._current_context: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 self._current_context_id: Optional[int] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 self._query_context_ids: Optional[List[int]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 

+

262 def _choose_filename(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 """Set self._filename based on inited attributes.""" 

+

264 if self._no_disk: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 self._filename = ":memory:" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 else: 

+

267 self._filename = self._basename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 suffix = filename_suffix(self._suffix) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 if suffix: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 self._filename += "." + suffix 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 def _reset(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 """Reset our attributes.""" 

+

274 if not self._no_disk: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 for db in self._dbs.values(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 db.close() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 self._dbs = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 self._file_map = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 self._have_used = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 self._current_context_id = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 

+

282 def _open_db(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 """Open an existing db file, and read its metadata.""" 

+

284 if self._debug.should("dataio"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 self._debug.write(f"Opening data file {self._filename!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 self._dbs[threading.get_ident()] = SqliteDb(self._filename, self._debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 self._read_db() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 

+

289 def _read_db(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 """Read the metadata from a database so that we are ready to use it.""" 

+

291 with self._dbs[threading.get_ident()] as db: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 row = db.execute_one("select version from coverage_schema") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 assert row is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 except Exception as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 if "no such table: coverage_schema" in str(exc): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 self._init_db(db) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 else: 

+

299 raise DataError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 "Data file {!r} doesn't seem to be a coverage data file: {}".format( 

+

301 self._filename, exc 

+

302 ) 

+

303 ) from exc 

+

304 else: 

+

305 schema_version = row[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 if schema_version != SCHEMA_VERSION: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 raise DataError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 "Couldn't use data file {!r}: wrong schema: {} instead of {}".format( 

+

309 self._filename, schema_version, SCHEMA_VERSION 

+

310 ) 

+

311 ) 

+

312 

+

313 row = db.execute_one("select value from meta where key = 'has_arcs'") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 if row is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 self._has_arcs = bool(int(row[0])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 self._has_lines = not self._has_arcs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 

+

318 with db.execute("select id, path from file") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 for file_id, path in cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 self._file_map[path] = file_id 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 

+

322 def _init_db(self, db: SqliteDb) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 """Write the initial contents of the database.""" 

+

324 if self._debug.should("dataio"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 self._debug.write(f"Initing data file {self._filename!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 db.executescript(SCHEMA) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 db.execute_void("insert into coverage_schema (version) values (?)", (SCHEMA_VERSION,)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 

+

329 # When writing metadata, avoid information that will needlessly change 

+

330 # the hash of the data file, unless we're debugging processes. 

+

331 meta_data = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 ("version", __version__), 

+

333 ] 

+

334 if self._debug.should("process"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 meta_data.extend([ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 ("sys_argv", str(getattr(sys, "argv", None))), 

+

337 ("when", datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")), 

+

338 ]) 

+

339 db.executemany_void("insert or ignore into meta (key, value) values (?, ?)", meta_data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 

+

341 def _connect(self) -> SqliteDb: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 """Get the SqliteDb object to use.""" 

+

343 if threading.get_ident() not in self._dbs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 self._open_db() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 return self._dbs[threading.get_ident()] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 

+

347 def __bool__(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 if (threading.get_ident() not in self._dbs and not os.path.exists(self._filename)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 with con.execute("select * from file limit 1") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 return bool(list(cur)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 except CoverageException: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 

+

357 def dumps(self) -> bytes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 """Serialize the current data to a byte string. 

+

359 

+

360 The format of the serialized data is not documented. It is only 

+

361 suitable for use with :meth:`loads` in the same version of 

+

362 coverage.py. 

+

363 

+

364 Note that this serialization is not what gets stored in coverage data 

+

365 files. This method is meant to produce bytes that can be transmitted 

+

366 elsewhere and then deserialized with :meth:`loads`. 

+

367 

+

368 Returns: 

+

369 A byte string of serialized data. 

+

370 

+

371 .. versionadded:: 5.0 

+

372 

+

373 """ 

+

374 if self._debug.should("dataio"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 self._debug.write(f"Dumping data from data file {self._filename!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 script = con.dump() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 return b"z" + zlib.compress(script.encode("utf-8")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

379 

+

380 def loads(self, data: bytes) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 """Deserialize data from :meth:`dumps`. 

+

382 

+

383 Use with a newly-created empty :class:`CoverageData` object. It's 

+

384 undefined what happens if the object already has data in it. 

+

385 

+

386 Note that this is not for reading data from a coverage data file. It 

+

387 is only for use on data you produced with :meth:`dumps`. 

+

388 

+

389 Arguments: 

+

390 data: A byte string of serialized data produced by :meth:`dumps`. 

+

391 

+

392 .. versionadded:: 5.0 

+

393 

+

394 """ 

+

395 if self._debug.should("dataio"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 self._debug.write(f"Loading data into data file {self._filename!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 if data[:1] != b"z": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 raise DataError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

399 f"Unrecognized serialization: {data[:40]!r} (head of {len(data)} bytes)" 

+

400 ) 

+

401 script = zlib.decompress(data[1:]).decode("utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 self._dbs[threading.get_ident()] = db = SqliteDb(self._filename, self._debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 with db: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

404 db.executescript(script) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 self._read_db() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

406 self._have_used = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 

+

408 def _file_id(self, filename: str, add: bool = False) -> Optional[int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 """Get the file id for `filename`. 

+

410 

+

411 If filename is not in the database yet, add it if `add` is True. 

+

412 If `add` is not True, return None. 

+

413 """ 

+

414 if filename not in self._file_map: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 if add: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

416 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 self._file_map[filename] = con.execute_for_rowid( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

418 "insert or replace into file (path) values (?)", 

+

419 (filename,) 

+

420 ) 

+

421 return self._file_map.get(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 

+

423 def _context_id(self, context: str) -> Optional[int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 """Get the id for a context.""" 

+

425 assert context is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 row = con.execute_one("select id from context where context = ?", (context,)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 if row is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 return cast(int, row[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 else: 

+

432 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 

+

434 @_locked 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

435 def set_context(self, context: Optional[str]) -> None: 

+

436 """Set the current context for future :meth:`add_lines` etc. 

+

437 

+

438 `context` is a str, the name of the context to use for the next data 

+

439 additions. The context persists until the next :meth:`set_context`. 

+

440 

+

441 .. versionadded:: 5.0 

+

442 

+

443 """ 

+

444 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 self._debug.write(f"Setting context: {context!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 self._current_context = context 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 self._current_context_id = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 

+

449 def _set_context_id(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 """Use the _current_context to set _current_context_id.""" 

+

451 context = self._current_context or "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

452 context_id = self._context_id(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453 if context_id is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 self._current_context_id = context_id 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 else: 

+

456 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

457 self._current_context_id = con.execute_for_rowid( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 "insert into context (context) values (?)", 

+

459 (context,) 

+

460 ) 

+

461 

+

462 def base_filename(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 """The base filename for storing data. 

+

464 

+

465 .. versionadded:: 5.0 

+

466 

+

467 """ 

+

468 return self._basename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 

+

470 def data_filename(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 """Where is the data stored? 

+

472 

+

473 .. versionadded:: 5.0 

+

474 

+

475 """ 

+

476 return self._filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

477 

+

478 @_locked 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 def add_lines(self, line_data: Mapping[str, Collection[TLineNo]]) -> None: 

+

480 """Add measured line data. 

+

481 

+

482 `line_data` is a dictionary mapping file names to iterables of ints:: 

+

483 

+

484 { filename: { line1, line2, ... }, ...} 

+

485 

+

486 """ 

+

487 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

488 self._debug.write("Adding lines: %d files, %d lines total" % ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

489 len(line_data), sum(bool(len(lines)) for lines in line_data.values()) 

+

490 )) 

+

491 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 self._choose_lines_or_arcs(lines=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

493 if not line_data: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

494 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

495 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

496 self._set_context_id() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 for filename, linenos in line_data.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 linemap = nums_to_numbits(linenos) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

499 file_id = self._file_id(filename, add=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

500 query = "select numbits from line_bits where file_id = ? and context_id = ?" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

501 with con.execute(query, (file_id, self._current_context_id)) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 existing = list(cur) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 if existing: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 linemap = numbits_union(linemap, existing[0][0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 

+

506 con.execute_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 "insert or replace into line_bits " + 

+

508 " (file_id, context_id, numbits) values (?, ?, ?)", 

+

509 (file_id, self._current_context_id, linemap), 

+

510 ) 

+

511 

+

512 @_locked 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 def add_arcs(self, arc_data: Mapping[str, Collection[TArc]]) -> None: 

+

514 """Add measured arc data. 

+

515 

+

516 `arc_data` is a dictionary mapping file names to iterables of pairs of 

+

517 ints:: 

+

518 

+

519 { filename: { (l1,l2), (l1,l2), ... }, ...} 

+

520 

+

521 """ 

+

522 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 self._debug.write("Adding arcs: %d files, %d arcs total" % ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

524 len(arc_data), sum(len(arcs) for arcs in arc_data.values()) 

+

525 )) 

+

526 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

527 self._choose_lines_or_arcs(arcs=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

528 if not arc_data: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

529 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

530 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

531 self._set_context_id() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

532 for filename, arcs in arc_data.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 if not arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 file_id = self._file_id(filename, add=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

536 data = [(file_id, self._current_context_id, fromno, tono) for fromno, tono in arcs] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

537 con.executemany_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 "insert or ignore into arc " + 

+

539 "(file_id, context_id, fromno, tono) values (?, ?, ?, ?)", 

+

540 data, 

+

541 ) 

+

542 

+

543 def _choose_lines_or_arcs(self, lines: bool = False, arcs: bool = False) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

544 """Force the data file to choose between lines and arcs.""" 

+

545 assert lines or arcs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 assert not (lines and arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 if lines and self._has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

548 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

549 self._debug.write("Error: Can't add line measurements to existing branch data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 raise DataError("Can't add line measurements to existing branch data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 if arcs and self._has_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

552 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 self._debug.write("Error: Can't add branch measurements to existing line data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 raise DataError("Can't add branch measurements to existing line data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

555 if not self._has_arcs and not self._has_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

556 self._has_lines = lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

557 self._has_arcs = arcs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

558 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

559 con.execute_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

560 "insert or ignore into meta (key, value) values (?, ?)", 

+

561 ("has_arcs", str(int(arcs))) 

+

562 ) 

+

563 

+

564 @_locked 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 def add_file_tracers(self, file_tracers: Mapping[str, str]) -> None: 

+

566 """Add per-file plugin information. 

+

567 

+

568 `file_tracers` is { filename: plugin_name, ... } 

+

569 

+

570 """ 

+

571 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 self._debug.write("Adding file tracers: %d files" % (len(file_tracers),)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 if not file_tracers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

574 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

575 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

576 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

577 for filename, plugin_name in file_tracers.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

578 file_id = self._file_id(filename, add=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 existing_plugin = self.file_tracer(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

580 if existing_plugin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 if existing_plugin != plugin_name: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

582 raise DataError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

583 "Conflicting file tracer name for '{}': {!r} vs {!r}".format( 

+

584 filename, existing_plugin, plugin_name, 

+

585 ) 

+

586 ) 

+

587 elif plugin_name: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 con.execute_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

589 "insert into tracer (file_id, tracer) values (?, ?)", 

+

590 (file_id, plugin_name) 

+

591 ) 

+

592 

+

593 def touch_file(self, filename: str, plugin_name: str = "") -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

594 """Ensure that `filename` appears in the data, empty if needed. 

+

595 

+

596 `plugin_name` is the name of the plugin responsible for this file. 

+

597 It is used to associate the right filereporter, etc. 

+

598 """ 

+

599 self.touch_files([filename], plugin_name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

600 

+

601 def touch_files(self, filenames: Collection[str], plugin_name: Optional[str] = None) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

602 """Ensure that `filenames` appear in the data, empty if needed. 

+

603 

+

604 `plugin_name` is the name of the plugin responsible for these files. 

+

605 It is used to associate the right filereporter, etc. 

+

606 """ 

+

607 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

608 self._debug.write(f"Touching {filenames!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

609 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

610 with self._connect(): # Use this to get one transaction. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

611 if not self._has_arcs and not self._has_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

612 raise DataError("Can't touch files in an empty CoverageData") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

613 

+

614 for filename in filenames: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

615 self._file_id(filename, add=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

616 if plugin_name: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 # Set the tracer for this file 

+

618 self.add_file_tracers({filename: plugin_name}) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.cpypy-3.9.ubuntu-latest.py

+

619 

+

620 def purge_files(self, filenames: Collection[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

621 """Purge any existing coverage data for the given `filenames`. 

+

622 

+

623 .. versionadded:: 7.2 

+

624 

+

625 """ 

+

626 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 self._debug.write(f"Purging data for {filenames!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

628 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

629 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 

+

631 if self._has_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

632 sql = "delete from line_bits where file_id=?" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 elif self._has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

634 sql = "delete from arc where file_id=?" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

635 else: 

+

636 raise DataError("Can't purge files in an empty CoverageData") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

637 

+

638 for filename in filenames: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 file_id = self._file_id(filename, add=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

640 if file_id is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

641 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

642 con.execute_void(sql, (file_id,)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

643 

+

644 def update(self, other_data: CoverageData, aliases: Optional[PathAliases] = None) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 """Update this data with data from several other :class:`CoverageData` instances. 

+

646 

+

647 If `aliases` is provided, it's a `PathAliases` object that is used to 

+

648 re-map paths to match the local machine's. Note: `aliases` is None 

+

649 only when called directly from the test suite. 

+

650 

+

651 """ 

+

652 if self._debug.should("dataop"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

653 self._debug.write("Updating with data from {!r}".format( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

654 getattr(other_data, "_filename", "???"), 

+

655 )) 

+

656 if self._has_lines and other_data._has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 raise DataError("Can't combine arc data with line data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

658 if self._has_arcs and other_data._has_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

659 raise DataError("Can't combine line data with arc data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

660 

+

661 aliases = aliases or PathAliases() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

662 

+

663 # Force the database we're writing to to exist before we start nesting contexts. 

+

664 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

665 

+

666 # Collector for all arcs, lines and tracers 

+

667 other_data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

668 with other_data._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

669 # Get files data. 

+

670 with con.execute("select path from file") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

671 files = {path: aliases.map(path) for (path,) in cur} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

672 

+

673 # Get contexts data. 

+

674 with con.execute("select context from context") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 contexts = [context for (context,) in cur] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

676 

+

677 # Get arc data. 

+

678 with con.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 "select file.path, context.context, arc.fromno, arc.tono " + 

+

680 "from arc " + 

+

681 "inner join file on file.id = arc.file_id " + 

+

682 "inner join context on context.id = arc.context_id" 

+

683 ) as cur: 

+

684 arcs = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 (files[path], context, fromno, tono) 

+

686 for (path, context, fromno, tono) in cur 

+

687 ] 

+

688 

+

689 # Get line data. 

+

690 with con.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

691 "select file.path, context.context, line_bits.numbits " + 

+

692 "from line_bits " + 

+

693 "inner join file on file.id = line_bits.file_id " + 

+

694 "inner join context on context.id = line_bits.context_id" 

+

695 ) as cur: 

+

696 lines: Dict[Tuple[str, str], bytes] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

697 for path, context, numbits in cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 key = (files[path], context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

699 if key in lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

700 numbits = numbits_union(lines[key], numbits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

701 lines[key] = numbits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

702 

+

703 # Get tracer data. 

+

704 with con.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

705 "select file.path, tracer " + 

+

706 "from tracer " + 

+

707 "inner join file on file.id = tracer.file_id" 

+

708 ) as cur: 

+

709 tracers = {files[path]: tracer for (path, tracer) in cur} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 

+

711 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

712 assert con.con is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

713 con.con.isolation_level = "IMMEDIATE" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

714 

+

715 # Get all tracers in the DB. Files not in the tracers are assumed 

+

716 # to have an empty string tracer. Since Sqlite does not support 

+

717 # full outer joins, we have to make two queries to fill the 

+

718 # dictionary. 

+

719 with con.execute("select path from file") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

720 this_tracers = {path: "" for path, in cur} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

721 with con.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

722 "select file.path, tracer from tracer " + 

+

723 "inner join file on file.id = tracer.file_id" 

+

724 ) as cur: 

+

725 this_tracers.update({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

726 aliases.map(path): tracer 

+

727 for path, tracer in cur 

+

728 }) 

+

729 

+

730 # Create all file and context rows in the DB. 

+

731 con.executemany_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

732 "insert or ignore into file (path) values (?)", 

+

733 ((file,) for file in files.values()) 

+

734 ) 

+

735 with con.execute("select id, path from file") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

736 file_ids = {path: id for id, path in cur} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

737 self._file_map.update(file_ids) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

738 con.executemany_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

739 "insert or ignore into context (context) values (?)", 

+

740 ((context,) for context in contexts) 

+

741 ) 

+

742 with con.execute("select id, context from context") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

743 context_ids = {context: id for id, context in cur} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

744 

+

745 # Prepare tracers and fail, if a conflict is found. 

+

746 # tracer_paths is used to ensure consistency over the tracer data 

+

747 # and tracer_map tracks the tracers to be inserted. 

+

748 tracer_map = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

749 for path in files.values(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

750 this_tracer = this_tracers.get(path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

751 other_tracer = tracers.get(path, "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

752 # If there is no tracer, there is always the None tracer. 

+

753 if this_tracer is not None and this_tracer != other_tracer: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

754 raise DataError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

755 "Conflicting file tracer name for '{}': {!r} vs {!r}".format( 

+

756 path, this_tracer, other_tracer 

+

757 ) 

+

758 ) 

+

759 tracer_map[path] = other_tracer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

760 

+

761 # Prepare arc and line rows to be inserted by converting the file 

+

762 # and context strings with integer ids. Then use the efficient 

+

763 # `executemany()` to insert all rows at once. 

+

764 arc_rows = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

765 (file_ids[file], context_ids[context], fromno, tono) 

+

766 for file, context, fromno, tono in arcs 

+

767 ) 

+

768 

+

769 # Get line data. 

+

770 with con.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

771 "select file.path, context.context, line_bits.numbits " + 

+

772 "from line_bits " + 

+

773 "inner join file on file.id = line_bits.file_id " + 

+

774 "inner join context on context.id = line_bits.context_id" 

+

775 ) as cur: 

+

776 for path, context, numbits in cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

777 key = (aliases.map(path), context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

778 if key in lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

779 numbits = numbits_union(lines[key], numbits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

780 lines[key] = numbits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

781 

+

782 if arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

783 self._choose_lines_or_arcs(arcs=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

784 

+

785 # Write the combined data. 

+

786 con.executemany_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

787 "insert or ignore into arc " + 

+

788 "(file_id, context_id, fromno, tono) values (?, ?, ?, ?)", 

+

789 arc_rows 

+

790 ) 

+

791 

+

792 if lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

793 self._choose_lines_or_arcs(lines=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

794 con.execute_void("delete from line_bits") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

795 con.executemany_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

796 "insert into line_bits " + 

+

797 "(file_id, context_id, numbits) values (?, ?, ?)", 

+

798 [ 

+

799 (file_ids[file], context_ids[context], numbits) 

+

800 for (file, context), numbits in lines.items() 

+

801 ] 

+

802 ) 

+

803 con.executemany_void( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

804 "insert or ignore into tracer (file_id, tracer) values (?, ?)", 

+

805 ((file_ids[filename], tracer) for filename, tracer in tracer_map.items()) 

+

806 ) 

+

807 

+

808 if not self._no_disk: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

809 # Update all internal cache data. 

+

810 self._reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

811 self.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

812 

+

813 def erase(self, parallel: bool = False) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

814 """Erase the data in this object. 

+

815 

+

816 If `parallel` is true, then also deletes data files created from the 

+

817 basename by parallel-mode. 

+

818 

+

819 """ 

+

820 self._reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

821 if self._no_disk: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

822 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

823 if self._debug.should("dataio"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

824 self._debug.write(f"Erasing data file {self._filename!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

825 file_be_gone(self._filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

826 if parallel: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

827 data_dir, local = os.path.split(self._filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

828 local_abs_path = os.path.join(os.path.abspath(data_dir), local) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

829 pattern = glob.escape(local_abs_path) + ".*" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

830 for filename in glob.glob(pattern): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

831 if self._debug.should("dataio"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

832 self._debug.write(f"Erasing parallel data file {filename!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

833 file_be_gone(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

834 

+

835 def read(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

836 """Start using an existing data file.""" 

+

837 if os.path.exists(self._filename): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

838 with self._connect(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

839 self._have_used = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

840 

+

841 def write(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

842 """Ensure the data is written to the data file.""" 

+

843 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

844 

+

845 def _start_using(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

846 """Call this before using the database at all.""" 

+

847 if self._pid != os.getpid(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

848 # Looks like we forked! Have to start a new data file. 

+

849 self._reset() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

850 self._choose_filename() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

851 self._pid = os.getpid() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

852 if not self._have_used: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

853 self.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

854 self._have_used = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

855 

+

856 def has_arcs(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

857 """Does the database have arcs (True) or lines (False).""" 

+

858 return bool(self._has_arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

859 

+

860 def measured_files(self) -> Set[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

861 """A set of all files that have been measured. 

+

862 

+

863 Note that a file may be mentioned as measured even though no lines or 

+

864 arcs for that file are present in the data. 

+

865 

+

866 """ 

+

867 return set(self._file_map) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

868 

+

869 def measured_contexts(self) -> Set[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

870 """A set of all contexts that have been measured. 

+

871 

+

872 .. versionadded:: 5.0 

+

873 

+

874 """ 

+

875 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

876 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

877 with con.execute("select distinct(context) from context") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

878 contexts = {row[0] for row in cur} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

879 return contexts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

880 

+

881 def file_tracer(self, filename: str) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

882 """Get the plugin name of the file tracer for a file. 

+

883 

+

884 Returns the name of the plugin that handles this file. If the file was 

+

885 measured, but didn't use a plugin, then "" is returned. If the file 

+

886 was not measured, then None is returned. 

+

887 

+

888 """ 

+

889 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

890 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

891 file_id = self._file_id(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

892 if file_id is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

893 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

894 row = con.execute_one("select tracer from tracer where file_id = ?", (file_id,)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

895 if row is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

896 return row[0] or "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

897 return "" # File was measured, but no tracer associated. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

898 

+

899 def set_query_context(self, context: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

900 """Set a context for subsequent querying. 

+

901 

+

902 The next :meth:`lines`, :meth:`arcs`, or :meth:`contexts_by_lineno` 

+

903 calls will be limited to only one context. `context` is a string which 

+

904 must match a context exactly. If it does not, no exception is raised, 

+

905 but queries will return no data. 

+

906 

+

907 .. versionadded:: 5.0 

+

908 

+

909 """ 

+

910 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

911 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

912 with con.execute("select id from context where context = ?", (context,)) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

913 self._query_context_ids = [row[0] for row in cur.fetchall()] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

914 

+

915 def set_query_contexts(self, contexts: Optional[Sequence[str]]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

916 """Set a number of contexts for subsequent querying. 

+

917 

+

918 The next :meth:`lines`, :meth:`arcs`, or :meth:`contexts_by_lineno` 

+

919 calls will be limited to the specified contexts. `contexts` is a list 

+

920 of Python regular expressions. Contexts will be matched using 

+

921 :func:`re.search <python:re.search>`. Data will be included in query 

+

922 results if they are part of any of the contexts matched. 

+

923 

+

924 .. versionadded:: 5.0 

+

925 

+

926 """ 

+

927 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

928 if contexts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

929 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

930 context_clause = " or ".join(["context regexp ?"] * len(contexts)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

931 with con.execute("select id from context where " + context_clause, contexts) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

932 self._query_context_ids = [row[0] for row in cur.fetchall()] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

933 else: 

+

934 self._query_context_ids = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

935 

+

936 def lines(self, filename: str) -> Optional[List[TLineNo]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

937 """Get the list of lines executed for a source file. 

+

938 

+

939 If the file was not measured, returns None. A file might be measured, 

+

940 and have no lines executed, in which case an empty list is returned. 

+

941 

+

942 If the file was executed, returns a list of integers, the line numbers 

+

943 executed in the file. The list is in no particular order. 

+

944 

+

945 """ 

+

946 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

947 if self.has_arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

948 arcs = self.arcs(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

949 if arcs is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

950 all_lines = itertools.chain.from_iterable(arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

951 return list({l for l in all_lines if l > 0}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

952 

+

953 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

954 file_id = self._file_id(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

955 if file_id is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

956 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

957 else: 

+

958 query = "select numbits from line_bits where file_id = ?" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

959 data = [file_id] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

960 if self._query_context_ids is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

961 ids_array = ", ".join("?" * len(self._query_context_ids)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

962 query += " and context_id in (" + ids_array + ")" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

963 data += self._query_context_ids 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

964 with con.execute(query, data) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

965 bitmaps = list(cur) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

966 nums = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

967 for row in bitmaps: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

968 nums.update(numbits_to_nums(row[0])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

969 return list(nums) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

970 

+

971 def arcs(self, filename: str) -> Optional[List[TArc]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

972 """Get the list of arcs executed for a file. 

+

973 

+

974 If the file was not measured, returns None. A file might be measured, 

+

975 and have no arcs executed, in which case an empty list is returned. 

+

976 

+

977 If the file was executed, returns a list of 2-tuples of integers. Each 

+

978 pair is a starting line number and an ending line number for a 

+

979 transition from one line to another. The list is in no particular 

+

980 order. 

+

981 

+

982 Negative numbers have special meaning. If the starting line number is 

+

983 -N, it represents an entry to the code object that starts at line N. 

+

984 If the ending ling number is -N, it's an exit from the code object that 

+

985 starts at line N. 

+

986 

+

987 """ 

+

988 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

989 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

990 file_id = self._file_id(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

991 if file_id is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

992 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

993 else: 

+

994 query = "select distinct fromno, tono from arc where file_id = ?" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

995 data = [file_id] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

996 if self._query_context_ids is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

997 ids_array = ", ".join("?" * len(self._query_context_ids)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

998 query += " and context_id in (" + ids_array + ")" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

999 data += self._query_context_ids 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1000 with con.execute(query, data) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1001 return list(cur) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1002 

+

1003 def contexts_by_lineno(self, filename: str) -> Dict[TLineNo, List[str]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1004 """Get the contexts for each line in a file. 

+

1005 

+

1006 Returns: 

+

1007 A dict mapping line numbers to a list of context names. 

+

1008 

+

1009 .. versionadded:: 5.0 

+

1010 

+

1011 """ 

+

1012 self._start_using() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1013 with self._connect() as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1014 file_id = self._file_id(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1015 if file_id is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1016 return {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1017 

+

1018 lineno_contexts_map = collections.defaultdict(set) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1019 if self.has_arcs(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1020 query = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1021 "select arc.fromno, arc.tono, context.context " + 

+

1022 "from arc, context " + 

+

1023 "where arc.file_id = ? and arc.context_id = context.id" 

+

1024 ) 

+

1025 data = [file_id] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1026 if self._query_context_ids is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1027 ids_array = ", ".join("?" * len(self._query_context_ids)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1028 query += " and arc.context_id in (" + ids_array + ")" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1029 data += self._query_context_ids 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1030 with con.execute(query, data) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1031 for fromno, tono, context in cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1032 if fromno > 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1033 lineno_contexts_map[fromno].add(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1034 if tono > 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1035 lineno_contexts_map[tono].add(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1036 else: 

+

1037 query = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1038 "select l.numbits, c.context from line_bits l, context c " + 

+

1039 "where l.context_id = c.id " + 

+

1040 "and file_id = ?" 

+

1041 ) 

+

1042 data = [file_id] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1043 if self._query_context_ids is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1044 ids_array = ", ".join("?" * len(self._query_context_ids)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1045 query += " and l.context_id in (" + ids_array + ")" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1046 data += self._query_context_ids 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1047 with con.execute(query, data) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1048 for numbits, context in cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1049 for lineno in numbits_to_nums(numbits): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1050 lineno_contexts_map[lineno].add(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1051 

+

1052 return {lineno: list(contexts) for lineno, contexts in lineno_contexts_map.items()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1053 

+

1054 @classmethod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1055 def sys_info(cls) -> List[Tuple[str, Any]]: 

+

1056 """Our information for `Coverage.sys_info`. 

+

1057 

+

1058 Returns a list of (key, value) pairs. 

+

1059 

+

1060 """ 

+

1061 with SqliteDb(":memory:", debug=NoDebugging()) as db: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1062 with db.execute("pragma temp_store") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1063 temp_store = [row[0] for row in cur] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1064 with db.execute("pragma compile_options") as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1065 copts = [row[0] for row in cur] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1066 copts = textwrap.wrap(", ".join(copts), width=75) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1067 

+

1068 return [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1069 ("sqlite3_sqlite_version", sqlite3.sqlite_version), 

+

1070 ("sqlite3_temp_store", temp_store), 

+

1071 ("sqlite3_compile_options", copts), 

+

1072 ] 

+

1073 

+

1074 

+

1075def filename_suffix(suffix: Union[str, bool, None]) -> Union[str, None]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1076 """Compute a filename suffix for a data file. 

+

1077 

+

1078 If `suffix` is a string or None, simply return it. If `suffix` is True, 

+

1079 then build a suffix incorporating the hostname, process id, and a random 

+

1080 number. 

+

1081 

+

1082 Returns a string or None. 

+

1083 

+

1084 """ 

+

1085 if suffix is True: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1086 # If data_suffix was a simple true value, then make a suffix with 

+

1087 # plenty of distinguishing information. We do this here in 

+

1088 # `save()` at the last minute so that the pid will be correct even 

+

1089 # if the process forks. 

+

1090 dice = random.Random(os.urandom(8)).randint(0, 999999) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1091 suffix = "%s.%s.%06d" % (socket.gethostname(), os.getpid(), dice) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1092 elif suffix is False: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1093 suffix = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1094 return suffix 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1095 

+

1096 

+

1097class SqliteDb(AutoReprMixin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1098 """A simple abstraction over a SQLite database. 

+

1099 

+

1100 Use as a context manager, then you can use it like a 

+

1101 :class:`python:sqlite3.Connection` object:: 

+

1102 

+

1103 with SqliteDb(filename, debug_control) as db: 

+

1104 db.execute("insert into schema (version) values (?)", (SCHEMA_VERSION,)) 

+

1105 

+

1106 """ 

+

1107 def __init__(self, filename: str, debug: TDebugCtl) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1108 self.debug = debug 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1109 self.filename = filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1110 self.nest = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1111 self.con: Optional[sqlite3.Connection] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1112 

+

1113 def _connect(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1114 """Connect to the db and do universal initialization.""" 

+

1115 if self.con is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1116 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1117 

+

1118 # It can happen that Python switches threads while the tracer writes 

+

1119 # data. The second thread will also try to write to the data, 

+

1120 # effectively causing a nested context. However, given the idempotent 

+

1121 # nature of the tracer operations, sharing a connection among threads 

+

1122 # is not a problem. 

+

1123 if self.debug.should("sql"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1124 self.debug.write(f"Connecting to {self.filename!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1125 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1126 self.con = sqlite3.connect(self.filename, check_same_thread=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1127 except sqlite3.Error as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1128 raise DataError(f"Couldn't use data file {self.filename!r}: {exc}") from exc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1129 

+

1130 self.con.create_function("REGEXP", 2, lambda txt, pat: re.search(txt, pat) is not None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1131 

+

1132 # This pragma makes writing faster. It disables rollbacks, but we never need them. 

+

1133 # PyPy needs the .close() calls here, or sqlite gets twisted up: 

+

1134 # https://bitbucket.org/pypy/pypy/issues/2872/default-isolation-mode-is-different-on 

+

1135 self.execute_void("pragma journal_mode=off") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1136 # This pragma makes writing faster. 

+

1137 self.execute_void("pragma synchronous=off") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1138 

+

1139 def close(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1140 """If needed, close the connection.""" 

+

1141 if self.con is not None and self.filename != ":memory:": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1142 self.con.close() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1143 self.con = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1144 

+

1145 def __enter__(self) -> SqliteDb: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1146 if self.nest == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1147 self._connect() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1148 assert self.con is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1149 self.con.__enter__() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1150 self.nest += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1151 return self 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1152 

+

1153 def __exit__(self, exc_type, exc_value, traceback) -> None: # type: ignore[no-untyped-def] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1154 self.nest -= 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1155 if self.nest == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1156 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1157 assert self.con is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1158 self.con.__exit__(exc_type, exc_value, traceback) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1159 self.close() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1160 except Exception as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1161 if self.debug.should("sql"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1162 self.debug.write(f"EXCEPTION from __exit__: {exc}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1163 raise DataError(f"Couldn't end data file {self.filename!r}: {exc}") from exc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1164 

+

1165 def _execute(self, sql: str, parameters: Iterable[Any]) -> sqlite3.Cursor: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1166 """Same as :meth:`python:sqlite3.Connection.execute`.""" 

+

1167 if self.debug.should("sql"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1168 tail = f" with {parameters!r}" if parameters else "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1169 self.debug.write(f"Executing {sql!r}{tail}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1170 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1171 assert self.con is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1172 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1173 return self.con.execute(sql, parameters) # type: ignore[arg-type] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1174 except Exception: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1175 # In some cases, an error might happen that isn't really an 

+

1176 # error. Try again immediately. 

+

1177 # https://github.com/nedbat/coveragepy/issues/1010 

+

1178 return self.con.execute(sql, parameters) # type: ignore[arg-type] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1179 except sqlite3.Error as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1180 msg = str(exc) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1181 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1182 # `execute` is the first thing we do with the database, so try 

+

1183 # hard to provide useful hints if something goes wrong now. 

+

1184 with open(self.filename, "rb") as bad_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1185 cov4_sig = b"!coverage.py: This is a private format" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1186 if bad_file.read(len(cov4_sig)) == cov4_sig: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1187 msg = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1188 "Looks like a coverage 4.x data file. " + 

+

1189 "Are you mixing versions of coverage?" 

+

1190 ) 

+

1191 except Exception: # pragma: cant happen 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1192 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1193 if self.debug.should("sql"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1194 self.debug.write(f"EXCEPTION from execute: {msg}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1195 raise DataError(f"Couldn't use data file {self.filename!r}: {msg}") from exc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1196 

+

1197 @contextlib.contextmanager 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1198 def execute( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1199 self, 

+

1200 sql: str, 

+

1201 parameters: Iterable[Any] = (), 

+

1202 ) -> Iterator[sqlite3.Cursor]: 

+

1203 """Context managed :meth:`python:sqlite3.Connection.execute`. 

+

1204 

+

1205 Use with a ``with`` statement to auto-close the returned cursor. 

+

1206 """ 

+

1207 cur = self._execute(sql, parameters) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1208 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1209 yield cur 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1210 finally: 

+

1211 cur.close() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1212 

+

1213 def execute_void(self, sql: str, parameters: Iterable[Any] = ()) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1214 """Same as :meth:`python:sqlite3.Connection.execute` when you don't need the cursor.""" 

+

1215 self._execute(sql, parameters).close() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1216 

+

1217 def execute_for_rowid(self, sql: str, parameters: Iterable[Any] = ()) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1218 """Like execute, but returns the lastrowid.""" 

+

1219 with self.execute(sql, parameters) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1220 assert cur.lastrowid is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1221 rowid: int = cur.lastrowid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1222 if self.debug.should("sqldata"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1223 self.debug.write(f"Row id result: {rowid!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1224 return rowid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1225 

+

1226 def execute_one(self, sql: str, parameters: Iterable[Any] = ()) -> Optional[Tuple[Any, ...]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1227 """Execute a statement and return the one row that results. 

+

1228 

+

1229 This is like execute(sql, parameters).fetchone(), except it is 

+

1230 correct in reading the entire result set. This will raise an 

+

1231 exception if more than one row results. 

+

1232 

+

1233 Returns a row, or None if there were no rows. 

+

1234 """ 

+

1235 with self.execute(sql, parameters) as cur: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1236 rows = list(cur) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1237 if len(rows) == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1238 return None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1239 elif len(rows) == 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1240 return cast(Tuple[Any, ...], rows[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1241 else: 

+

1242 raise AssertionError(f"SQL {sql!r} shouldn't return {len(rows)} rows") 

+

1243 

+

1244 def _executemany(self, sql: str, data: List[Any]) -> sqlite3.Cursor: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1245 """Same as :meth:`python:sqlite3.Connection.executemany`.""" 

+

1246 if self.debug.should("sql"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1247 final = ":" if self.debug.should("sqldata") else "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1248 self.debug.write(f"Executing many {sql!r} with {len(data)} rows{final}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1249 if self.debug.should("sqldata"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1250 for i, row in enumerate(data): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1251 self.debug.write(f"{i:4d}: {row!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1252 assert self.con is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1253 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1254 return self.con.executemany(sql, data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1255 except Exception: # pragma: cant happen 

+

1256 # In some cases, an error might happen that isn't really an 

+

1257 # error. Try again immediately. 

+

1258 # https://github.com/nedbat/coveragepy/issues/1010 

+

1259 return self.con.executemany(sql, data) 

+

1260 

+

1261 def executemany_void(self, sql: str, data: Iterable[Any]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1262 """Same as :meth:`python:sqlite3.Connection.executemany` when you don't need the cursor.""" 

+

1263 data = list(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1264 if data: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1265 self._executemany(sql, data).close() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1266 

+

1267 def executescript(self, script: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1268 """Same as :meth:`python:sqlite3.Connection.executescript`.""" 

+

1269 if self.debug.should("sql"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1270 self.debug.write("Executing script with {} chars: {}".format( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1271 len(script), clipped_repr(script, 100), 

+

1272 )) 

+

1273 assert self.con is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1274 self.con.executescript(script).close() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1275 

+

1276 def dump(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1277 """Return a multi-line string, the SQL dump of the database.""" 

+

1278 assert self.con is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1279 return "\n".join(self.con.iterdump()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_summary_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_summary_py.html new file mode 100644 index 000000000..cbc95b599 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_summary_py.html @@ -0,0 +1,380 @@ + + + + + Coverage for coverage/summary.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/summary.py: + 100.000% +

+ +

+ 147 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Summary reporting""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from typing import Any, IO, Iterable, List, Optional, Tuple, TYPE_CHECKING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from coverage.exceptions import ConfigError, NoDataError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from coverage.misc import human_sorted_items 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.plugin import FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.report import get_analysis_to_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.results import Analysis, Numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.types import TMorf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 from coverage import Coverage 

+

21 

+

22 

+

23class SummaryReporter: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 """A reporter for writing the summary report.""" 

+

25 

+

26 def __init__(self, coverage: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 self.coverage = coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 self.config = self.coverage.config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 self.branches = coverage.get_data().has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 self.outfile: Optional[IO[str]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 self.output_format = self.config.format or "text" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 if self.output_format not in {"text", "markdown", "total"}: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 raise ConfigError(f"Unknown report format choice: {self.output_format!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 self.fr_analysis: List[Tuple[FileReporter, Analysis]] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 self.skipped_count = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 self.empty_count = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 self.total = Numbers(precision=self.config.precision) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 

+

39 def write(self, line: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 """Write a line to the output, adding a newline.""" 

+

41 assert self.outfile is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 self.outfile.write(line.rstrip()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 self.outfile.write("\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 

+

45 def write_items(self, items: Iterable[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 """Write a list of strings, joined together.""" 

+

47 self.write("".join(items)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 def _report_text( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 self, 

+

51 header: List[str], 

+

52 lines_values: List[List[Any]], 

+

53 total_line: List[Any], 

+

54 end_lines: List[str], 

+

55 ) -> None: 

+

56 """Internal method that prints report data in text format. 

+

57 

+

58 `header` is a list with captions. 

+

59 `lines_values` is list of lists of sortable values. 

+

60 `total_line` is a list with values of the total line. 

+

61 `end_lines` is a list of ending lines with information about skipped files. 

+

62 

+

63 """ 

+

64 # Prepare the formatting strings, header, and column sorting. 

+

65 max_name = max([len(line[0]) for line in lines_values] + [5]) + 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 max_n = max(len(total_line[header.index("Cover")]) + 2, len(" Cover")) + 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 max_n = max([max_n] + [len(line[header.index("Cover")]) + 2 for line in lines_values]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 formats = dict( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 Name="{:{name_len}}", 

+

70 Stmts="{:>7}", 

+

71 Miss="{:>7}", 

+

72 Branch="{:>7}", 

+

73 BrPart="{:>7}", 

+

74 Cover="{:>{n}}", 

+

75 Missing="{:>10}", 

+

76 ) 

+

77 header_items = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 formats[item].format(item, name_len=max_name, n=max_n) 

+

79 for item in header 

+

80 ] 

+

81 header_str = "".join(header_items) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 rule = "-" * len(header_str) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 

+

84 # Write the header 

+

85 self.write(header_str) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 self.write(rule) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 

+

88 formats.update(dict(Cover="{:>{n}}%"), Missing=" {:9}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 for values in lines_values: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 # build string with line values 

+

91 line_items = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 formats[item].format(str(value), 

+

93 name_len=max_name, n=max_n-1) for item, value in zip(header, values) 

+

94 ] 

+

95 self.write_items(line_items) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 

+

97 # Write a TOTAL line 

+

98 if lines_values: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 self.write(rule) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 

+

101 line_items = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 formats[item].format(str(value), 

+

103 name_len=max_name, n=max_n-1) for item, value in zip(header, total_line) 

+

104 ] 

+

105 self.write_items(line_items) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 

+

107 for end_line in end_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 self.write(end_line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 

+

110 def _report_markdown( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 self, 

+

112 header: List[str], 

+

113 lines_values: List[List[Any]], 

+

114 total_line: List[Any], 

+

115 end_lines: List[str], 

+

116 ) -> None: 

+

117 """Internal method that prints report data in markdown format. 

+

118 

+

119 `header` is a list with captions. 

+

120 `lines_values` is a sorted list of lists containing coverage information. 

+

121 `total_line` is a list with values of the total line. 

+

122 `end_lines` is a list of ending lines with information about skipped files. 

+

123 

+

124 """ 

+

125 # Prepare the formatting strings, header, and column sorting. 

+

126 max_name = max((len(line[0].replace("_", "\\_")) for line in lines_values), default=0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 max_name = max(max_name, len("**TOTAL**")) + 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 formats = dict( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 Name="| {:{name_len}}|", 

+

130 Stmts="{:>9} |", 

+

131 Miss="{:>9} |", 

+

132 Branch="{:>9} |", 

+

133 BrPart="{:>9} |", 

+

134 Cover="{:>{n}} |", 

+

135 Missing="{:>10} |", 

+

136 ) 

+

137 max_n = max(len(total_line[header.index("Cover")]) + 6, len(" Cover ")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 header_items = [formats[item].format(item, name_len=max_name, n=max_n) for item in header] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 header_str = "".join(header_items) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 rule_str = "|" + " ".join(["- |".rjust(len(header_items[0])-1, '-')] + 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 ["-: |".rjust(len(item)-1, '-') for item in header_items[1:]] 

+

142 ) 

+

143 

+

144 # Write the header 

+

145 self.write(header_str) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 self.write(rule_str) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148 for values in lines_values: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 # build string with line values 

+

150 formats.update(dict(Cover="{:>{n}}% |")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 line_items = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 formats[item].format(str(value).replace("_", "\\_"), name_len=max_name, n=max_n-1) 

+

153 for item, value in zip(header, values) 

+

154 ] 

+

155 self.write_items(line_items) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 

+

157 # Write the TOTAL line 

+

158 formats.update(dict(Name="|{:>{name_len}} |", Cover="{:>{n}} |")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 total_line_items: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 for item, value in zip(header, total_line): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 if value == "": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 insert = value 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 elif item == "Cover": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 insert = f" **{value}%**" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 else: 

+

166 insert = f" **{value}**" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 total_line_items += formats[item].format(insert, name_len=max_name, n=max_n) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 self.write_items(total_line_items) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 for end_line in end_lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 self.write(end_line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 

+

172 def report(self, morfs: Optional[Iterable[TMorf]], outfile: Optional[IO[str]] = None) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 """Writes a report summarizing coverage statistics per module. 

+

174 

+

175 `outfile` is a text-mode file object to write the summary to. 

+

176 

+

177 """ 

+

178 self.outfile = outfile or sys.stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 

+

180 self.coverage.get_data().set_query_contexts(self.config.report_contexts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 for fr, analysis in get_analysis_to_report(self.coverage, morfs): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 self.report_one_file(fr, analysis) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 

+

184 if not self.total.n_files and not self.skipped_count: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 raise NoDataError("No data to report.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 

+

187 if self.output_format == "total": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 self.write(self.total.pc_covered_str) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 else: 

+

190 self.tabular_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 

+

192 return self.total.pc_covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 def tabular_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 """Writes tabular report formats.""" 

+

196 # Prepare the header line and column sorting. 

+

197 header = ["Name", "Stmts", "Miss"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 if self.branches: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 header += ["Branch", "BrPart"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 header += ["Cover"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 if self.config.show_missing: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 header += ["Missing"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 

+

204 column_order = dict(name=0, stmts=1, miss=2, cover=-1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 if self.branches: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 column_order.update(dict(branch=3, brpart=4)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 

+

208 # `lines_values` is list of lists of sortable values. 

+

209 lines_values = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 

+

211 for (fr, analysis) in self.fr_analysis: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 nums = analysis.numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 

+

214 args = [fr.relative_filename(), nums.n_statements, nums.n_missing] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 if self.branches: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 args += [nums.n_branches, nums.n_partial_branches] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 args += [nums.pc_covered_str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 if self.config.show_missing: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 args += [analysis.missing_formatted(branches=True)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 args += [nums.pc_covered] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 lines_values.append(args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 

+

223 # Line sorting. 

+

224 sort_option = (self.config.sort or "name").lower() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 reverse = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 if sort_option[0] == '-': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 reverse = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 sort_option = sort_option[1:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 elif sort_option[0] == '+': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 sort_option = sort_option[1:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 sort_idx = column_order.get(sort_option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 if sort_idx is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 raise ConfigError(f"Invalid sorting option: {self.config.sort!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 if sort_option == "name": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 lines_values = human_sorted_items(lines_values, reverse=reverse) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 else: 

+

237 lines_values.sort( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 key=lambda line: (line[sort_idx], line[0]), # type: ignore[index] 

+

239 reverse=reverse, 

+

240 ) 

+

241 

+

242 # Calculate total if we had at least one file. 

+

243 total_line = ["TOTAL", self.total.n_statements, self.total.n_missing] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 if self.branches: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 total_line += [self.total.n_branches, self.total.n_partial_branches] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 total_line += [self.total.pc_covered_str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 if self.config.show_missing: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 total_line += [""] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 

+

250 # Create other final lines. 

+

251 end_lines = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 if self.config.skip_covered and self.skipped_count: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 file_suffix = 's' if self.skipped_count>1 else '' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 end_lines.append( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 f"\n{self.skipped_count} file{file_suffix} skipped due to complete coverage." 

+

256 ) 

+

257 if self.config.skip_empty and self.empty_count: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 file_suffix = 's' if self.empty_count > 1 else '' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 end_lines.append(f"\n{self.empty_count} empty file{file_suffix} skipped.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 

+

261 if self.output_format == "markdown": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 formatter = self._report_markdown 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 else: 

+

264 formatter = self._report_text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 formatter(header, lines_values, total_line, end_lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 

+

267 def report_one_file(self, fr: FileReporter, analysis: Analysis) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 """Report on just one file, the callback from report().""" 

+

269 nums = analysis.numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 self.total += nums 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 no_missing_lines = (nums.n_missing == 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 no_missing_branches = (nums.n_partial_branches == 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 if self.config.skip_covered and no_missing_lines and no_missing_branches: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 # Don't report on 100% files. 

+

276 self.skipped_count += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 elif self.config.skip_empty and nums.n_statements == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 # Don't report on empty files. 

+

279 self.empty_count += 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 else: 

+

281 self.fr_analysis.append((fr, analysis)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_templite_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_templite_py.html new file mode 100644 index 000000000..1b02c7a2d --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_templite_py.html @@ -0,0 +1,408 @@ + + + + + Coverage for coverage/templite.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/templite.py: + 100.000% +

+ +

+ 150 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""A simple Python template renderer, for a nano-subset of Django syntax. 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6For a detailed discussion of this code, see this chapter from 500 Lines: 

+

7http://aosabook.org/en/500L/a-template-engine.html 

+

8 

+

9""" 

+

10 

+

11# Coincidentally named the same as http://code.activestate.com/recipes/496702/ 

+

12 

+

13from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 Any, Callable, Dict, List, NoReturn, Optional, Set, Union, cast, 

+

19) 

+

20 

+

21 

+

22class TempliteSyntaxError(ValueError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 """Raised when a template has a syntax error.""" 

+

24 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26 

+

27class TempliteValueError(ValueError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 """Raised when an expression won't evaluate in a template.""" 

+

29 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 

+

31 

+

32class CodeBuilder: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 """Build source code conveniently.""" 

+

34 

+

35 def __init__(self, indent: int = 0) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 self.code: List[Union[str, CodeBuilder]] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 self.indent_level = indent 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 

+

39 def __str__(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 return "".join(str(c) for c in self.code) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 

+

42 def add_line(self, line: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 """Add a line of source to the code. 

+

44 

+

45 Indentation and newline will be added for you, don't provide them. 

+

46 

+

47 """ 

+

48 self.code.extend([" " * self.indent_level, line, "\n"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 def add_section(self) -> CodeBuilder: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 """Add a section, a sub-CodeBuilder.""" 

+

52 section = CodeBuilder(self.indent_level) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 self.code.append(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 return section 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 INDENT_STEP = 4 # PEP8 says so! 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 

+

58 def indent(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 """Increase the current indent for following lines.""" 

+

60 self.indent_level += self.INDENT_STEP 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 

+

62 def dedent(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 """Decrease the current indent for following lines.""" 

+

64 self.indent_level -= self.INDENT_STEP 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66 def get_globals(self) -> Dict[str, Any]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 """Execute the code, and return a dict of globals it defines.""" 

+

68 # A check that the caller really finished all the blocks they started. 

+

69 assert self.indent_level == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 # Get the Python source as a single string. 

+

71 python_source = str(self) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 # Execute the source, defining globals, and return them. 

+

73 global_namespace: Dict[str, Any] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 exec(python_source, global_namespace) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 return global_namespace 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 

+

77 

+

78class Templite: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 """A simple template renderer, for a nano-subset of Django syntax. 

+

80 

+

81 Supported constructs are extended variable access:: 

+

82 

+

83 {{var.modifier.modifier|filter|filter}} 

+

84 

+

85 loops:: 

+

86 

+

87 {% for var in list %}...{% endfor %} 

+

88 

+

89 and ifs:: 

+

90 

+

91 {% if var %}...{% endif %} 

+

92 

+

93 Comments are within curly-hash markers:: 

+

94 

+

95 {# This will be ignored #} 

+

96 

+

97 Lines between `{% joined %}` and `{% endjoined %}` will have lines stripped 

+

98 and joined. Be careful, this could join words together! 

+

99 

+

100 Any of these constructs can have a hyphen at the end (`-}}`, `-%}`, `-#}`), 

+

101 which will collapse the white space following the tag. 

+

102 

+

103 Construct a Templite with the template text, then use `render` against a 

+

104 dictionary context to create a finished string:: 

+

105 

+

106 templite = Templite(''' 

+

107 <h1>Hello {{name|upper}}!</h1> 

+

108 {% for topic in topics %} 

+

109 <p>You are interested in {{topic}}.</p> 

+

110 {% endif %} 

+

111 ''', 

+

112 {'upper': str.upper}, 

+

113 ) 

+

114 text = templite.render({ 

+

115 'name': "Ned", 

+

116 'topics': ['Python', 'Geometry', 'Juggling'], 

+

117 }) 

+

118 

+

119 """ 

+

120 def __init__(self, text: str, *contexts: Dict[str, Any]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 """Construct a Templite with the given `text`. 

+

122 

+

123 `contexts` are dictionaries of values to use for future renderings. 

+

124 These are good for filters and global values. 

+

125 

+

126 """ 

+

127 self.context = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 for context in contexts: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 self.context.update(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 

+

131 self.all_vars: Set[str] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 self.loop_vars: Set[str] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 

+

134 # We construct a function in source form, then compile it and hold onto 

+

135 # it, and execute it to render the template. 

+

136 code = CodeBuilder() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 

+

138 code.add_line("def render_function(context, do_dots):") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 code.indent() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 vars_code = code.add_section() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 code.add_line("result = []") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 code.add_line("append_result = result.append") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 code.add_line("extend_result = result.extend") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 code.add_line("to_str = str") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 

+

146 buffered: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148 def flush_output() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 """Force `buffered` to the code builder.""" 

+

150 if len(buffered) == 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 code.add_line("append_result(%s)" % buffered[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 elif len(buffered) > 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 code.add_line("extend_result([%s])" % ", ".join(buffered)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 del buffered[:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 

+

156 ops_stack = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 

+

158 # Split the text to form a list of tokens. 

+

159 tokens = re.split(r"(?s)({{.*?}}|{%.*?%}|{#.*?#})", text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 

+

161 squash = in_joined = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 

+

163 for token in tokens: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 if token.startswith('{'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 start, end = 2, -2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 squash = (token[-3] == '-') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 if squash: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 end = -3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 

+

170 if token.startswith('{#'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 # Comment: ignore it and move on. 

+

172 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 elif token.startswith('{{'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 # An expression to evaluate. 

+

175 expr = self._expr_code(token[start:end].strip()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 buffered.append("to_str(%s)" % expr) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 else: 

+

178 # token.startswith('{%') 

+

179 # Action tag: split into words and parse further. 

+

180 flush_output() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 

+

182 words = token[start:end].strip().split() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 if words[0] == 'if': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 # An if statement: evaluate the expression to determine if. 

+

185 if len(words) != 2: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 self._syntax_error("Don't understand if", token) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 ops_stack.append('if') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 code.add_line("if %s:" % self._expr_code(words[1])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 code.indent() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 elif words[0] == 'for': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 # A loop: iterate over expression result. 

+

192 if len(words) != 4 or words[2] != 'in': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 self._syntax_error("Don't understand for", token) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 ops_stack.append('for') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 self._variable(words[1], self.loop_vars) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 code.add_line( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 "for c_{} in {}:".format( 

+

198 words[1], 

+

199 self._expr_code(words[3]) 

+

200 ) 

+

201 ) 

+

202 code.indent() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 elif words[0] == 'joined': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 ops_stack.append('joined') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 in_joined = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 elif words[0].startswith('end'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 # Endsomething. Pop the ops stack. 

+

208 if len(words) != 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 self._syntax_error("Don't understand end", token) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 end_what = words[0][3:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 if not ops_stack: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 self._syntax_error("Too many ends", token) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 start_what = ops_stack.pop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 if start_what != end_what: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 self._syntax_error("Mismatched end tag", end_what) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 if end_what == 'joined': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 in_joined = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 else: 

+

219 code.dedent() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 else: 

+

221 self._syntax_error("Don't understand tag", words[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 else: 

+

223 # Literal content. If it isn't empty, output it. 

+

224 if in_joined: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 token = re.sub(r"\s*\n\s*", "", token.strip()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 elif squash: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 token = token.lstrip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 if token: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 buffered.append(repr(token)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 

+

231 if ops_stack: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 self._syntax_error("Unmatched action tag", ops_stack[-1]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 

+

234 flush_output() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 

+

236 for var_name in self.all_vars - self.loop_vars: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 vars_code.add_line(f"c_{var_name} = context[{var_name!r}]") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 

+

239 code.add_line('return "".join(result)') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 code.dedent() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 self._render_function = cast( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 Callable[ 

+

243 [Dict[str, Any], Callable[..., Any]], 

+

244 str 

+

245 ], 

+

246 code.get_globals()['render_function'], 

+

247 ) 

+

248 

+

249 def _expr_code(self, expr: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 """Generate a Python expression for `expr`.""" 

+

251 if "|" in expr: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 pipes = expr.split("|") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 code = self._expr_code(pipes[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 for func in pipes[1:]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 self._variable(func, self.all_vars) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 code = f"c_{func}({code})" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 elif "." in expr: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 dots = expr.split(".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 code = self._expr_code(dots[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 args = ", ".join(repr(d) for d in dots[1:]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 code = f"do_dots({code}, {args})" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 else: 

+

263 self._variable(expr, self.all_vars) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 code = "c_%s" % expr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 return code 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 

+

267 def _syntax_error(self, msg: str, thing: Any) -> NoReturn: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 """Raise a syntax error using `msg`, and showing `thing`.""" 

+

269 raise TempliteSyntaxError(f"{msg}: {thing!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 

+

271 def _variable(self, name: str, vars_set: Set[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 """Track that `name` is used as a variable. 

+

273 

+

274 Adds the name to `vars_set`, a set of variable names. 

+

275 

+

276 Raises an syntax error if `name` is not a valid name. 

+

277 

+

278 """ 

+

279 if not re.match(r"[_a-zA-Z][_a-zA-Z0-9]*$", name): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 self._syntax_error("Not a valid name", name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 vars_set.add(name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 

+

283 def render(self, context: Optional[Dict[str, Any]] = None) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 """Render this template by applying it to `context`. 

+

285 

+

286 `context` is a dictionary of values to use in this rendering. 

+

287 

+

288 """ 

+

289 # Make the complete context we'll use. 

+

290 render_context = dict(self.context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 if context: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 render_context.update(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 return self._render_function(render_context, self._do_dots) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 

+

295 def _do_dots(self, value: Any, *dots: str) -> Any: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 """Evaluate dotted expressions at run-time.""" 

+

297 for dot in dots: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 value = getattr(value, dot) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 except AttributeError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 value = value[dot] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 except (TypeError, KeyError) as exc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 raise TempliteValueError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 f"Couldn't evaluate {value!r}.{dot}" 

+

306 ) from exc 

+

307 if callable(value): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 value = value() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 return value 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_tomlconfig_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_tomlconfig_py.html new file mode 100644 index 000000000..ef2181bab --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_tomlconfig_py.html @@ -0,0 +1,307 @@ + + + + + Coverage for coverage/tomlconfig.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/tomlconfig.py: + 100.000% +

+ +

+ 128 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""TOML configuration support for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Type, TypeVar 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.exceptions import ConfigError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.misc import import_third_party, substitute_variables 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.types import TConfigSectionOut, TConfigValueOut 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18 

+

19if env.PYVERSION >= (3, 11, 0, "alpha", 7): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 import tomllib # pylint: disable=import-error 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

21 has_tomllib = True 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

22else: 

+

23 # TOML support on Python 3.10 and below is an install-time extra option. 

+

24 tomllib, has_tomllib = import_third_party("tomli") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26 

+

27class TomlDecodeError(Exception): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 """An exception class that exists even when toml isn't installed.""" 

+

29 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 

+

31 

+

32TWant = TypeVar("TWant") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 

+

34class TomlConfigParser: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 """TOML file reading with the interface of HandyConfigParser.""" 

+

36 

+

37 # This class has the same interface as config.HandyConfigParser, no 

+

38 # need for docstrings. 

+

39 # pylint: disable=missing-function-docstring 

+

40 

+

41 def __init__(self, our_file: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 self.our_file = our_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 self.data: Dict[str, Any] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 

+

45 def read(self, filenames: Iterable[str]) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 # RawConfigParser takes a filename or list of filenames, but we only 

+

47 # ever call this with a single filename. 

+

48 assert isinstance(filenames, (bytes, str, os.PathLike)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 filename = os.fspath(filenames) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 

+

51 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 with open(filename, encoding='utf-8') as fp: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 toml_text = fp.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 except OSError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 return [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 if has_tomllib: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 self.data = tomllib.loads(toml_text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 except tomllib.TOMLDecodeError as err: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 raise TomlDecodeError(str(err)) from err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 return [filename] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 else: 

+

63 has_toml = re.search(r"^\[tool\.coverage(\.|])", toml_text, flags=re.MULTILINE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 if self.our_file or has_toml: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 # Looks like they meant to read TOML, but we can't read it. 

+

66 msg = "Can't read {!r} without TOML support. Install with [toml] extra" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 raise ConfigError(msg.format(filename)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 return [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 

+

70 def _get_section(self, section: str) -> Tuple[Optional[str], Optional[TConfigSectionOut]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 """Get a section from the data. 

+

72 

+

73 Arguments: 

+

74 section (str): A section name, which can be dotted. 

+

75 

+

76 Returns: 

+

77 name (str): the actual name of the section that was found, if any, 

+

78 or None. 

+

79 data (str): the dict of data in the section, or None if not found. 

+

80 

+

81 """ 

+

82 prefixes = ["tool.coverage."] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 for prefix in prefixes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 real_section = prefix + section 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 parts = real_section.split(".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 data = self.data[parts[0]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 for part in parts[1:]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 data = data[part] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 except KeyError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 else: 

+

94 return None, None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 return real_section, data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 

+

97 def _get(self, section: str, option: str) -> Tuple[str, TConfigValueOut]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 """Like .get, but returns the real section name and the value.""" 

+

99 name, data = self._get_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 if data is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 raise ConfigError(f"No section: {section!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 assert name is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 value = data[option] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 except KeyError: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 raise ConfigError(f"No option {option!r} in section: {name!r}") from None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 return name, value 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 

+

109 def _get_single(self, section: str, option: str) -> Any: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 """Get a single-valued option. 

+

111 

+

112 Performs environment substitution if the value is a string. Other types 

+

113 will be converted later as needed. 

+

114 """ 

+

115 name, value = self._get(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 if isinstance(value, str): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 value = substitute_variables(value, os.environ) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 return name, value 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 

+

120 def has_option(self, section: str, option: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 _, data = self._get_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 if data is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 return option in data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 

+

126 def real_section(self, section: str) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 name, _ = self._get_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 return name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 

+

130 def has_section(self, section: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 name, _ = self._get_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 return bool(name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 

+

134 def options(self, section: str) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 _, data = self._get_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 if data is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 raise ConfigError(f"No section: {section!r}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 return list(data.keys()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 

+

140 def get_section(self, section: str) -> TConfigSectionOut: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 _, data = self._get_section(section) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 return data or {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 

+

144 def get(self, section: str, option: str) -> Any: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 _, value = self._get_single(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 return value 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148 def _check_type( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 self, 

+

150 section: str, 

+

151 option: str, 

+

152 value: Any, 

+

153 type_: Type[TWant], 

+

154 converter: Optional[Callable[[Any], TWant]], 

+

155 type_desc: str, 

+

156 ) -> TWant: 

+

157 """Check that `value` has the type we want, converting if needed. 

+

158 

+

159 Returns the resulting value of the desired type. 

+

160 """ 

+

161 if isinstance(value, type_): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 return value 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 if isinstance(value, str) and converter is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 return converter(value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 except Exception as e: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 raise ValueError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 f"Option [{section}]{option} couldn't convert to {type_desc}: {value!r}" 

+

169 ) from e 

+

170 raise ValueError( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 f"Option [{section}]{option} is not {type_desc}: {value!r}" 

+

172 ) 

+

173 

+

174 def getboolean(self, section: str, option: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 name, value = self._get_single(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 bool_strings = {"true": True, "false": False} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 return self._check_type(name, option, value, bool, bool_strings.__getitem__, "a boolean") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 

+

179 def _get_list(self, section: str, option: str) -> Tuple[str, List[str]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 """Get a list of strings, substituting environment variables in the elements.""" 

+

181 name, values = self._get(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 values = self._check_type(name, option, values, list, None, "a list") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 values = [substitute_variables(value, os.environ) for value in values] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 return name, values 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 

+

186 def getlist(self, section: str, option: str) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 _, values = self._get_list(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 return values 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 

+

190 def getregexlist(self, section: str, option: str) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 name, values = self._get_list(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 for value in values: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 value = value.strip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 re.compile(value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 except re.error as e: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 raise ConfigError(f"Invalid [{name}].{option} value {value!r}: {e}") from e 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 return values 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 

+

200 def getint(self, section: str, option: str) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 name, value = self._get_single(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 return self._check_type(name, option, value, int, int, "an integer") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 

+

204 def getfloat(self, section: str, option: str) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 name, value = self._get_single(section, option) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 if isinstance(value, int): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 value = float(value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 return self._check_type(name, option, value, float, float, "a float") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_types_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_types_py.html new file mode 100644 index 000000000..e821052a2 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_types_py.html @@ -0,0 +1,292 @@ + + + + + Coverage for coverage/types.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/types.py: + 100.000% +

+ +

+ 22 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4""" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5Types for use throughout coverage.py. 

+

6""" 

+

7 

+

8from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import pathlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from types import FrameType, ModuleType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 Any, Callable, Dict, Iterable, List, Mapping, Optional, Set, Tuple, Type, Union, 

+

16 TYPE_CHECKING, 

+

17) 

+

18 

+

19if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 # Protocol is new in 3.8. PYVERSIONS 

+

21 from typing import Protocol 

+

22 

+

23 from coverage.plugin import FileTracer 

+

24 

+

25else: 

+

26 class Protocol: # pylint: disable=missing-class-docstring 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29## File paths 

+

30 

+

31# For arguments that are file paths: 

+

32FilePath = Union[str, os.PathLike] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33# For testing FilePath arguments 

+

34FilePathClasses = [str, pathlib.Path] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35FilePathType = Union[Type[str], Type[pathlib.Path]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37## Python tracing 

+

38 

+

39class TTraceFn(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 """A Python trace function.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 def __call__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

42 self, 

+

43 frame: FrameType, 

+

44 event: str, 

+

45 arg: Any, 

+

46 lineno: Optional[TLineNo] = None # Our own twist, see collector.py 

+

47 ) -> Optional[TTraceFn]: 

+

48 ... 

+

49 

+

50## Coverage.py tracing 

+

51 

+

52# Line numbers are pervasive enough that they deserve their own type. 

+

53TLineNo = int 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 

+

55TArc = Tuple[TLineNo, TLineNo] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 

+

57class TFileDisposition(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 """A simple value type for recording what to do with a file.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 

+

60 original_filename: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 canonical_filename: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 source_filename: Optional[str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 trace: bool 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 reason: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 file_tracer: Optional[FileTracer] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 has_dynamic_filename: bool 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 

+

68 

+

69# When collecting data, we use a dictionary with a few possible shapes. The 

+

70# keys are always file names. 

+

71# - If measuring line coverage, the values are sets of line numbers. 

+

72# - If measuring arcs in the Python tracer, the values are sets of arcs (pairs 

+

73# of line numbers). 

+

74# - If measuring arcs in the C tracer, the values are sets of packed arcs (two 

+

75# line numbers combined into one integer). 

+

76 

+

77TTraceFileData = Union[Set[TLineNo], Set[TArc], Set[int]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 

+

79TTraceData = Dict[str, TTraceFileData] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 

+

81class TTracer(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 """Either CTracer or PyTracer.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 

+

84 data: TTraceData 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 trace_arcs: bool 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 should_trace: Callable[[str, FrameType], TFileDisposition] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 should_trace_cache: Mapping[str, Optional[TFileDisposition]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 should_start_context: Optional[Callable[[FrameType], Optional[str]]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 switch_context: Optional[Callable[[Optional[str]], None]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 warn: TWarnFn 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 

+

92 def __init__(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 ... 

+

94 

+

95 def start(self) -> TTraceFn: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 """Start this tracer, returning a trace function.""" 

+

97 

+

98 def stop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 """Stop this tracer.""" 

+

100 

+

101 def activity(self) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 """Has there been any activity?""" 

+

103 

+

104 def reset_activity(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 """Reset the activity() flag.""" 

+

106 

+

107 def get_stats(self) -> Optional[Dict[str, int]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 """Return a dictionary of statistics, or None.""" 

+

109 

+

110## Coverage 

+

111 

+

112# Many places use kwargs as Coverage kwargs. 

+

113TCovKwargs = Any 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 

+

115 

+

116## Configuration 

+

117 

+

118# One value read from a config file. 

+

119TConfigValueIn = Optional[Union[bool, int, float, str, Iterable[str]]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120TConfigValueOut = Optional[Union[bool, int, float, str, List[str]]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121# An entire config section, mapping option names to values. 

+

122TConfigSectionIn = Mapping[str, TConfigValueIn] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123TConfigSectionOut = Mapping[str, TConfigValueOut] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 

+

125class TConfigurable(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 """Something that can proxy to the coverage configuration settings.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 

+

128 def get_option(self, option_name: str) -> Optional[TConfigValueOut]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 """Get an option from the configuration. 

+

130 

+

131 `option_name` is a colon-separated string indicating the section and 

+

132 option name. For example, the ``branch`` option in the ``[run]`` 

+

133 section of the config file would be indicated with `"run:branch"`. 

+

134 

+

135 Returns the value of the option. 

+

136 

+

137 """ 

+

138 

+

139 def set_option(self, option_name: str, value: Union[TConfigValueIn, TConfigSectionIn]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 """Set an option in the configuration. 

+

141 

+

142 `option_name` is a colon-separated string indicating the section and 

+

143 option name. For example, the ``branch`` option in the ``[run]`` 

+

144 section of the config file would be indicated with `"run:branch"`. 

+

145 

+

146 `value` is the new value for the option. 

+

147 

+

148 """ 

+

149 

+

150class TPluginConfig(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 """Something that can provide options to a plugin.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 

+

153 def get_plugin_options(self, plugin: str) -> TConfigSectionOut: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 """Get the options for a plugin.""" 

+

155 

+

156 

+

157## Parsing 

+

158 

+

159TMorf = Union[ModuleType, str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 

+

161TSourceTokenLines = Iterable[List[Tuple[str, str]]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 

+

163## Plugins 

+

164 

+

165class TPlugin(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 """What all plugins have in common.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 _coverage_plugin_name: str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 _coverage_enabled: bool 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 

+

170 

+

171## Debugging 

+

172 

+

173class TWarnFn(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 """A callable warn() function.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 def __call__(self, msg: str, slug: Optional[str] = None, once: bool = False) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 ... 

+

177 

+

178 

+

179class TDebugCtl(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 """A DebugControl object, or something like it.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 

+

182 def should(self, option: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 """Decide whether to output debug information in category `option`.""" 

+

184 

+

185 def write(self, msg: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 """Write a line of debug output.""" 

+

187 

+

188 

+

189class TWritable(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 """Anything that can be written to.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 

+

192 def write(self, msg: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 """Write a message.""" 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_version_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_version_py.html new file mode 100644 index 000000000..d1002cd0a --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_version_py.html @@ -0,0 +1,150 @@ + + + + + Coverage for coverage/version.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/version.py: + 100.000% +

+ +

+ 20 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""The version and URL for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5# This file is exec'ed in setup.py, don't import anything! 

+

6 

+

7from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

8 

+

9# version_info: same semantics as sys.version_info. 

+

10# _dev: the .devN suffix if any. 

+

11version_info = (7, 2, 0, "alpha", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12_dev = 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14 

+

15def _make_version( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

16 major: int, 

+

17 minor: int, 

+

18 micro: int, 

+

19 releaselevel: str = "final", 

+

20 serial: int = 0, 

+

21 dev: int = 0, 

+

22) -> str: 

+

23 """Create a readable version string from version_info tuple components.""" 

+

24 assert releaselevel in ['alpha', 'beta', 'candidate', 'final'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 version = "%d.%d.%d" % (major, minor, micro) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 if releaselevel != 'final': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 short = {'alpha': 'a', 'beta': 'b', 'candidate': 'rc'}[releaselevel] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 version += f"{short}{serial}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 if dev != 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 version += f".dev{dev}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 return version 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33 

+

34def _make_url( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

35 major: int, 

+

36 minor: int, 

+

37 micro: int, 

+

38 releaselevel: str, 

+

39 serial: int = 0, 

+

40 dev: int = 0, 

+

41) -> str: 

+

42 """Make the URL people should start at for this version of coverage.py.""" 

+

43 url = "https://coverage.readthedocs.io" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 if releaselevel != "final" or dev != 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 # For pre-releases, use a version-specific URL. 

+

46 url += "/en/" + _make_version(major, minor, micro, releaselevel, serial, dev) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 return url 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 

+

50__version__ = _make_version(*version_info, _dev) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51__url__ = _make_url(*version_info, _dev) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_xmlreport_py.html b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_xmlreport_py.html new file mode 100644 index 000000000..fcc9ee356 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_56e48acd472f6ae7_xmlreport_py.html @@ -0,0 +1,356 @@ + + + + + Coverage for coverage/xmlreport.py: 100.000% + + + + + +
+
+

+ Coverage for coverage/xmlreport.py: + 100.000% +

+ +

+ 161 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""XML reporting for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import time 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import xml.dom.minidom 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from dataclasses import dataclass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from typing import Any, Dict, IO, Iterable, Optional, TYPE_CHECKING, cast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from coverage import __url__, __version__, files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.misc import isolate_module, human_sorted, human_sorted_items 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.plugin import FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.report import get_analysis_to_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.results import Analysis 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.types import TMorf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24if TYPE_CHECKING: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 from coverage import Coverage 

+

26 

+

27os = isolate_module(os) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 

+

30DTD_URL = 'https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 

+

32 

+

33def rate(hit: int, num: int) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 """Return the fraction of `hit`/`num`, as a string.""" 

+

35 if num == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 return "1" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 else: 

+

38 return "%.4g" % (hit / num) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 

+

40 

+

41@dataclass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42class PackageData: 

+

43 """Data we keep about each "package" (in Java terms).""" 

+

44 elements: Dict[str, xml.dom.minidom.Element] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 hits: int 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 lines: int 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 br_hits: int 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 branches: int 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 

+

51def appendChild(parent: Any, child: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 """Append a child to a parent, in a way mypy will shut up about.""" 

+

53 parent.appendChild(child) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 

+

55 

+

56class XmlReporter: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 """A reporter for writing Cobertura-style XML coverage results.""" 

+

58 

+

59 report_type = "XML report" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 

+

61 def __init__(self, coverage: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 self.coverage = coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 self.config = self.coverage.config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 self.source_paths = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 if self.config.source: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 for src in self.config.source: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 if os.path.exists(src): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 if not self.config.relative_files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 src = files.canonical_filename(src) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 self.source_paths.add(src) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 self.packages: Dict[str, PackageData] = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 self.xml_out: xml.dom.minidom.Document 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 def report(self, morfs: Optional[Iterable[TMorf]], outfile: Optional[IO[str]] = None) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 """Generate a Cobertura-compatible XML report for `morfs`. 

+

77 

+

78 `morfs` is a list of modules or file names. 

+

79 

+

80 `outfile` is a file object to write the XML to. 

+

81 

+

82 """ 

+

83 # Initial setup. 

+

84 outfile = outfile or sys.stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 has_arcs = self.coverage.get_data().has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 # Create the DOM that will store the data. 

+

88 impl = xml.dom.minidom.getDOMImplementation() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 assert impl is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 self.xml_out = impl.createDocument(None, "coverage", None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 

+

92 # Write header stuff. 

+

93 xcoverage = self.xml_out.documentElement 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 xcoverage.setAttribute("version", __version__) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 xcoverage.setAttribute("timestamp", str(int(time.time()*1000))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 xcoverage.appendChild(self.xml_out.createComment( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 f" Generated by coverage.py: {__url__} " 

+

98 )) 

+

99 xcoverage.appendChild(self.xml_out.createComment(f" Based on {DTD_URL} ")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 

+

101 # Call xml_file for each file in the data. 

+

102 for fr, analysis in get_analysis_to_report(self.coverage, morfs): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 self.xml_file(fr, analysis, has_arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 

+

105 xsources = self.xml_out.createElement("sources") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 xcoverage.appendChild(xsources) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 

+

108 # Populate the XML DOM with the source info. 

+

109 for path in human_sorted(self.source_paths): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 xsource = self.xml_out.createElement("source") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 appendChild(xsources, xsource) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 txt = self.xml_out.createTextNode(path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 appendChild(xsource, txt) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 

+

115 lnum_tot, lhits_tot = 0, 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 bnum_tot, bhits_tot = 0, 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 

+

118 xpackages = self.xml_out.createElement("packages") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 xcoverage.appendChild(xpackages) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 

+

121 # Populate the XML DOM with the package info. 

+

122 for pkg_name, pkg_data in human_sorted_items(self.packages.items()): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 xpackage = self.xml_out.createElement("package") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 appendChild(xpackages, xpackage) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 xclasses = self.xml_out.createElement("classes") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 appendChild(xpackage, xclasses) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 for _, class_elt in human_sorted_items(pkg_data.elements.items()): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 appendChild(xclasses, class_elt) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 xpackage.setAttribute("name", pkg_name.replace(os.sep, '.')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 xpackage.setAttribute("line-rate", rate(pkg_data.hits, pkg_data.lines)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 if has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 branch_rate = rate(pkg_data.br_hits, pkg_data.branches) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 else: 

+

134 branch_rate = "0" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 xpackage.setAttribute("branch-rate", branch_rate) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 xpackage.setAttribute("complexity", "0") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 

+

138 lhits_tot += pkg_data.hits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 lnum_tot += pkg_data.lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 bhits_tot += pkg_data.br_hits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 bnum_tot += pkg_data.branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 

+

143 xcoverage.setAttribute("lines-valid", str(lnum_tot)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 xcoverage.setAttribute("lines-covered", str(lhits_tot)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 xcoverage.setAttribute("line-rate", rate(lhits_tot, lnum_tot)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 if has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 xcoverage.setAttribute("branches-valid", str(bnum_tot)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 xcoverage.setAttribute("branches-covered", str(bhits_tot)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 xcoverage.setAttribute("branch-rate", rate(bhits_tot, bnum_tot)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 else: 

+

151 xcoverage.setAttribute("branches-covered", "0") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 xcoverage.setAttribute("branches-valid", "0") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 xcoverage.setAttribute("branch-rate", "0") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 xcoverage.setAttribute("complexity", "0") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 

+

156 # Write the output file. 

+

157 outfile.write(serialize_xml(self.xml_out)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 

+

159 # Return the total percentage. 

+

160 denom = lnum_tot + bnum_tot 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 if denom == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 pct = 0.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 else: 

+

164 pct = 100.0 * (lhits_tot + bhits_tot) / denom 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 return pct 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 

+

167 def xml_file(self, fr: FileReporter, analysis: Analysis, has_arcs: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 """Add to the XML report for a single file.""" 

+

169 

+

170 if self.config.skip_empty: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 if analysis.numbers.n_statements == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 

+

174 # Create the 'lines' and 'package' XML elements, which 

+

175 # are populated later. Note that a package == a directory. 

+

176 filename = fr.filename.replace("\\", "/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 for source_path in self.source_paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 if not self.config.relative_files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 source_path = files.canonical_filename(source_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 if filename.startswith(source_path.replace("\\", "/") + "/"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 rel_name = filename[len(source_path)+1:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 else: 

+

184 rel_name = fr.relative_filename() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 self.source_paths.add(fr.filename[:-len(rel_name)].rstrip(r"\/")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 

+

187 dirname = os.path.dirname(rel_name) or "." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 dirname = "/".join(dirname.split("/")[:self.config.xml_package_depth]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 package_name = dirname.replace("/", ".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 

+

191 package = self.packages.setdefault(package_name, PackageData({}, 0, 0, 0, 0)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 

+

193 xclass: xml.dom.minidom.Element = self.xml_out.createElement("class") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 

+

195 appendChild(xclass, self.xml_out.createElement("methods")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 

+

197 xlines = self.xml_out.createElement("lines") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 appendChild(xclass, xlines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 

+

200 xclass.setAttribute("name", os.path.relpath(rel_name, dirname)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 xclass.setAttribute("filename", rel_name.replace("\\", "/")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 xclass.setAttribute("complexity", "0") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 

+

204 branch_stats = analysis.branch_stats() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 missing_branch_arcs = analysis.missing_branch_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 

+

207 # For each statement, create an XML 'line' element. 

+

208 for line in sorted(analysis.statements): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 xline = self.xml_out.createElement("line") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 xline.setAttribute("number", str(line)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 

+

212 # Q: can we get info about the number of times a statement is 

+

213 # executed? If so, that should be recorded here. 

+

214 xline.setAttribute("hits", str(int(line not in analysis.missing))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 

+

216 if has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 if line in branch_stats: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 total, taken = branch_stats[line] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 xline.setAttribute("branch", "true") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 xline.setAttribute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 "condition-coverage", 

+

222 "%d%% (%d/%d)" % (100*taken//total, taken, total) 

+

223 ) 

+

224 if line in missing_branch_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 annlines = ["exit" if b < 0 else str(b) for b in missing_branch_arcs[line]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 xline.setAttribute("missing-branches", ",".join(annlines)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 appendChild(xlines, xline) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 

+

229 class_lines = len(analysis.statements) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 class_hits = class_lines - len(analysis.missing) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 

+

232 if has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 class_branches = sum(t for t, k in branch_stats.values()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 missing_branches = sum(t - k for t, k in branch_stats.values()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 class_br_hits = class_branches - missing_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 else: 

+

237 class_branches = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 class_br_hits = 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 

+

240 # Finalize the statistics that are collected in the XML DOM. 

+

241 xclass.setAttribute("line-rate", rate(class_hits, class_lines)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 if has_arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 branch_rate = rate(class_br_hits, class_branches) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 else: 

+

245 branch_rate = "0" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 xclass.setAttribute("branch-rate", branch_rate) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 

+

248 package.elements[rel_name] = xclass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 package.hits += class_hits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 package.lines += class_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 package.br_hits += class_br_hits 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 package.branches += class_branches 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 

+

254 

+

255def serialize_xml(dom: xml.dom.minidom.Document) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 """Serialize a minidom node to XML.""" 

+

257 return cast(str, dom.toprettyxml()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_6a492354c7c89fe0___init___py.html b/reports/20230214_7887212bda/htmlcov/d_6a492354c7c89fe0___init___py.html new file mode 100644 index 000000000..23ab2e8a4 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_6a492354c7c89fe0___init___py.html @@ -0,0 +1,101 @@ + + + + + Coverage for tests/modules/pkg2/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/pkg2/__init__.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# This is an __init__.py file, with no executable statements in it. 

+

2# This comment shouldn't confuse the parser. 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17___init___py.html b/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17___init___py.html new file mode 100644 index 000000000..7345c8d50 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17___init___py.html @@ -0,0 +1,99 @@ + + + + + Coverage for tests/modules/plugins/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/plugins/__init__.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17_a_plugin_py.html b/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17_a_plugin_py.html new file mode 100644 index 000000000..8e064e930 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17_a_plugin_py.html @@ -0,0 +1,118 @@ + + + + + Coverage for tests/modules/plugins/a_plugin.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/plugins/a_plugin.py: + 100.000% +

+ +

+ 8 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1"""A plugin for tests to reference.""" 

+

2 

+

3from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

4 

+

5from typing import Any 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6 

+

7from coverage import CoveragePlugin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

8from coverage.plugin_support import Plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10 

+

11class Plugin(CoveragePlugin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14 

+

15def coverage_init( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 reg: Plugins, 

+

17 options: Any, # pylint: disable=unused-argument 

+

18) -> None: 

+

19 reg.add_file_tracer(Plugin()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17_another_py.html b/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17_another_py.html new file mode 100644 index 000000000..f4db0d2b6 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_6afbad80da38ef17_another_py.html @@ -0,0 +1,120 @@ + + + + + Coverage for tests/modules/plugins/another.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/plugins/another.py: + 100.000% +

+ +

+ 9 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""A plugin for tests to reference.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8from typing import Any 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from coverage import CoveragePlugin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11from coverage.plugin_support import Plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13class Plugin(CoveragePlugin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16 

+

17def coverage_init( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 reg: Plugins, 

+

19 options: Any, # pylint: disable=unused-argument 

+

20) -> None: 

+

21 reg.add_file_tracer(Plugin()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_726a57c820fc118f___init___py.html b/reports/20230214_7887212bda/htmlcov/d_726a57c820fc118f___init___py.html new file mode 100644 index 000000000..7e4687316 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_726a57c820fc118f___init___py.html @@ -0,0 +1,99 @@ + + + + + Coverage for tests/modules/process_test/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/process_test/__init__.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_726a57c820fc118f_try_execfile_py.html b/reports/20230214_7887212bda/htmlcov/d_726a57c820fc118f_try_execfile_py.html new file mode 100644 index 000000000..fc18866ab --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_726a57c820fc118f_try_execfile_py.html @@ -0,0 +1,215 @@ + + + + + Coverage for tests/modules/process_test/try_execfile.py: 89.041% + + + + + +
+
+

+ Coverage for tests/modules/process_test/try_execfile.py: + 89.041% +

+ +

+ 46 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Test file for run_python_file. 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6This file is executed two ways:: 

+

7 

+

8 $ coverage run try_execfile.py 

+

9 

+

10and:: 

+

11 

+

12 $ python try_execfile.py 

+

13 

+

14The output is compared to see that the program execution context is the same 

+

15under coverage and under Python. 

+

16 

+

17It is not crucial that the execution be identical, there are some differences 

+

18that are OK. This program canonicalizes the output to gloss over those 

+

19differences and get a clean diff. 

+

20 

+

21""" 

+

22 

+

23from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25import itertools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26import json 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 

+

30from typing import Any, List 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 

+

32# sys.path varies by execution environments. Coverage.py uses setuptools to 

+

33# make console scripts, which means pkg_resources is imported. pkg_resources 

+

34# removes duplicate entries from sys.path. So we do that too, since the extra 

+

35# entries don't affect the running of the program. 

+

36 

+

37def same_file(p1: str, p2: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 """Determine if `p1` and `p2` refer to the same existing file.""" 

+

39 if not p1: 39 ↛ 40line 39 didn't jump to line 40, because the condition on line 39 was never true3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 return not p2 

+

41 if not os.path.exists(p1): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

43 if not os.path.exists(p2): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

45 if hasattr(os.path, "samefile"): 45 ↛ 48line 45 didn't jump to line 48, because the condition on line 45 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 return os.path.samefile(p1, p2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 else: 

+

48 norm1 = os.path.normcase(os.path.normpath(p1)) 

+

49 norm2 = os.path.normcase(os.path.normpath(p2)) 

+

50 return norm1 == norm2 

+

51 

+

52def without_same_files(filenames: List[str]) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 """Return the list `filenames` with duplicates (by same_file) removed.""" 

+

54 reduced: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 for filename in filenames: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 if not any(same_file(filename, other) for other in reduced): 56 ↛ 55line 56 didn't jump to line 55, because the condition on line 56 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 reduced.append(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 return reduced 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 

+

60cleaned_sys_path = [os.path.normcase(p) for p in without_same_files(sys.path)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 

+

62DATA = "xyzzy" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 

+

64import __main__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66def my_function(a: Any) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 """A function to force execution of module-level values.""" 

+

68 return f"my_fn({a!r})" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 

+

70FN_VAL = my_function("fooey") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 

+

72loader = globals().get('__loader__') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73spec = globals().get('__spec__') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75# A more compact ad-hoc grouped-by-first-letter list of builtins. 

+

76CLUMPS = "ABC,DEF,GHI,JKLMN,OPQR,ST,U,VWXYZ_,ab,cd,efg,hij,lmno,pqr,stuvwxyz".split(",") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78def word_group(w: str) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 """Figure out which CLUMP the first letter of w is in.""" 

+

80 for i, clump in enumerate(CLUMPS): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 if w[0] in clump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 return i 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 return 99 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

84 

+

85builtin_dir = [" ".join(s) for _, s in itertools.groupby(dir(__builtins__), key=word_group)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87globals_to_check = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 'os.getcwd': os.getcwd(), 

+

89 '__name__': __name__, 

+

90 '__file__': __file__, 

+

91 '__doc__': __doc__, 

+

92 '__builtins__.has_open': hasattr(__builtins__, 'open'), 

+

93 '__builtins__.dir': builtin_dir, 

+

94 '__loader__ exists': loader is not None, 

+

95 '__package__': __package__, 

+

96 '__spec__ exists': spec is not None, 

+

97 'DATA': DATA, 

+

98 'FN_VAL': FN_VAL, 

+

99 '__main__.DATA': getattr(__main__, "DATA", "nothing"), 

+

100 'argv0': sys.argv[0], 

+

101 'argv1-n': sys.argv[1:], 

+

102 'path': cleaned_sys_path, 

+

103} 

+

104 

+

105if loader is not None: 105 ↛ 110line 105 didn't jump to line 110, because the condition on line 105 was never false3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 globals_to_check.update({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 '__loader__.fullname': getattr(loader, 'fullname', None) or getattr(loader, 'name', None) 

+

108 }) 

+

109 

+

110if spec is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 globals_to_check.update({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 '__spec__.' + aname: getattr(spec, aname) 

+

113 for aname in ['name', 'origin', 'submodule_search_locations', 'parent', 'has_location'] 

+

114 }) 

+

115 

+

116print(json.dumps(globals_to_check, indent=4, sort_keys=True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_cp1252_py.html b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_cp1252_py.html new file mode 100644 index 000000000..d1b11c119 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_cp1252_py.html @@ -0,0 +1,105 @@ + + + + + Coverage for tests/zipmods.zip/encoded_cp1252.py: 100.000% + + + + + +
+
+

+ Coverage for tests/zipmods.zip/encoded_cp1252.py: + 100.000% +

+ +

+ 5 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# coding: cp1252 

+

2text = u"“hi”" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

3ords = [8220, 104, 105, 8221] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

4assert [ord(c) for c in text] == ords 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5print(u"All OK with cp1252") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6encoding = "cp1252" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_gb2312_py.html b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_gb2312_py.html new file mode 100644 index 000000000..5128d2562 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_gb2312_py.html @@ -0,0 +1,105 @@ + + + + + Coverage for tests/zipmods.zip/encoded_gb2312.py: 100.000% + + + + + +
+
+

+ Coverage for tests/zipmods.zip/encoded_gb2312.py: + 100.000% +

+ +

+ 5 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# coding: gb2312 

+

2text = u"你好,世界" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

3ords = [20320, 22909, 65292, 19990, 30028] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

4assert [ord(c) for c in text] == ords 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5print(u"All OK with gb2312") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6encoding = "gb2312" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_hebrew_py.html b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_hebrew_py.html new file mode 100644 index 000000000..c0c5d2f4a --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_hebrew_py.html @@ -0,0 +1,105 @@ + + + + + Coverage for tests/zipmods.zip/encoded_hebrew.py: 100.000% + + + + + +
+
+

+ Coverage for tests/zipmods.zip/encoded_hebrew.py: + 100.000% +

+ +

+ 5 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# coding: hebrew 

+

2text = u"שלום, עולם" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

3ords = [1513, 1500, 1493, 1501, 44, 32, 1506, 1493, 1500, 1501] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

4assert [ord(c) for c in text] == ords 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5print(u"All OK with hebrew") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6encoding = "hebrew" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_shift_jis_py.html b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_shift_jis_py.html new file mode 100644 index 000000000..7d8332385 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_shift_jis_py.html @@ -0,0 +1,105 @@ + + + + + Coverage for tests/zipmods.zip/encoded_shift_jis.py: 100.000% + + + + + +
+
+

+ Coverage for tests/zipmods.zip/encoded_shift_jis.py: + 100.000% +

+ +

+ 5 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# coding: shift_jis 

+

2text = u"こんにちは世界" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

3ords = [12371, 12435, 12395, 12385, 12399, 19990, 30028] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

4assert [ord(c) for c in text] == ords 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5print(u"All OK with shift_jis") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6encoding = "shift_jis" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_utf-8_py.html b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_utf-8_py.html new file mode 100644 index 000000000..a8eac92d3 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_7d196e1750568443_encoded_utf-8_py.html @@ -0,0 +1,105 @@ + + + + + Coverage for tests/zipmods.zip/encoded_utf-8.py: 100.000% + + + + + +
+
+

+ Coverage for tests/zipmods.zip/encoded_utf-8.py: + 100.000% +

+ +

+ 5 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# coding: utf-8 

+

2text = u"ⓗⓔⓛⓛⓞ, ⓦⓞⓡⓛⓓ" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

3ords = [9431, 9428, 9435, 9435, 9438, 44, 32, 9446, 9438, 9441, 9435, 9427] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

4assert [ord(c) for c in text] == ords 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5print(u"All OK with utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6encoding = "utf-8" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_9ca50767fc7db0ab___main___py.html b/reports/20230214_7887212bda/htmlcov/d_9ca50767fc7db0ab___main___py.html new file mode 100644 index 000000000..09e158813 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_9ca50767fc7db0ab___main___py.html @@ -0,0 +1,107 @@ + + + + + Coverage for tests/covmain.zip/__main__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/covmain.zip/__main__.py: + 100.000% +

+ +

+ 4 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Coverage.py's main entry point.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7from coverage.cmdline import main 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

8sys.exit(main()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531___init___py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531___init___py.html new file mode 100644 index 000000000..122355eb3 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531___init___py.html @@ -0,0 +1,103 @@ + + + + + Coverage for tests/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/__init__.py: + 100.000% +

+ +

+ 1 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Automated tests. Run with pytest.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_balance_xdist_plugin_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_balance_xdist_plugin_py.html new file mode 100644 index 000000000..8e7bb02b0 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_balance_xdist_plugin_py.html @@ -0,0 +1,290 @@ + + + + + Coverage for tests/balance_xdist_plugin.py: 100.000% + + + + + +
+
+

+ Coverage for tests/balance_xdist_plugin.py: + 100.000% +

+ +

+ 13 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4""" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5A pytest plugin to record test times and then use those times to divide tests 

+

6into evenly balanced workloads for each xdist worker. 

+

7 

+

8Two things are hard-coded here that shouldn't be: 

+

9 

+

10- The timing data is written to the tmp directory, but should use the pytest 

+

11 cache (https://docs.pytest.org/en/latest/how-to/cache.html). 

+

12 

+

13- The number of xdist workers is hard-coded to 8 because I couldn't figure out 

+

14 how to find the number. Would it be crazy to read the -n argument directly? 

+

15 

+

16You can force some tests to run on the same worker by setting the 

+

17`balanced_clumps` setting in your pytest config file. Each line is a substring 

+

18of a test name. All tests with that substring (like -k) will run on the 

+

19worker: 

+

20 

+

21 balanced_clumps = 

+

22 LongRunningFixture 

+

23 some_other_test_substring 

+

24 

+

25""" 

+

26 

+

27import collections 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28import csv 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30import shutil 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31import time 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33from pathlib import Path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36import xdist.scheduler 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 

+

38 

+

39def pytest_addoption(parser): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 """Auto-called to define ini-file settings.""" 

+

41 parser.addini( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 "balanced_clumps", 

+

43 type="linelist", 

+

44 help="Test substrings to assign to the same worker", 

+

45 ) 

+

46 

+

47@pytest.hookimpl(tryfirst=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48def pytest_configure(config): 

+

49 """Registers our pytest plugin.""" 

+

50 config.pluginmanager.register(BalanceXdistPlugin(config), "balance_xdist_plugin") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52 

+

53class BalanceXdistPlugin: # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 """The plugin""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 def __init__(self, config): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 self.config = config 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 self.running_all = (self.config.getoption("-k") == "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 self.times = collections.defaultdict(float) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 self.worker = os.environ.get("PYTEST_XDIST_WORKER", "none") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 self.tests_csv = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 

+

63 def pytest_sessionstart(self, session): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 """Called once before any tests are run, but in every worker.""" 

+

65 if not self.running_all: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 return 

+

67 

+

68 tests_csv_dir = session.startpath.resolve() / "tmp/tests_csv" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 self.tests_csv = tests_csv_dir / f"{self.worker}.csv" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 

+

71 if self.worker == "none": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 if tests_csv_dir.exists(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 for csv_file in tests_csv_dir.iterdir(): 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

74 with csv_file.open(newline="") as fcsv: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

75 reader = csv.reader(fcsv) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

76 for row in reader: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

77 self.times[row[1]] += float(row[3]) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

78 shutil.rmtree(tests_csv_dir) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

79 

+

80 def write_duration_row(self, item, phase, duration): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 """Helper to write a row to the tracked-test csv file.""" 

+

82 if self.running_all: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 self.tests_csv.parent.mkdir(parents=True, exist_ok=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 with self.tests_csv.open("a", newline="") as fcsv: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 csv.writer(fcsv).writerow([self.worker, item.nodeid, phase, duration]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 @pytest.hookimpl(hookwrapper=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 def pytest_runtest_setup(self, item): 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 """Run once for each test.""" 

+

90 start = time.time() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 self.write_duration_row(item, "setup", time.time() - start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 

+

94 @pytest.hookimpl(hookwrapper=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 def pytest_runtest_call(self, item): 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 """Run once for each test.""" 

+

97 start = time.time() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 self.write_duration_row(item, "call", time.time() - start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 

+

101 @pytest.hookimpl(hookwrapper=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 def pytest_runtest_teardown(self, item): 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 """Run once for each test.""" 

+

104 start = time.time() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 self.write_duration_row(item, "teardown", time.time() - start) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 

+

108 @pytest.hookimpl(trylast=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 def pytest_xdist_make_scheduler(self, config, log): 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 """Create our BalancedScheduler using time data from the last run.""" 

+

111 # Assign tests to chunks 

+

112 nchunks = 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 totals = [0] * nchunks 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 tests = collections.defaultdict(set) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 

+

116 # first put the difficult ones all in one worker 

+

117 clumped = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 clumps = config.getini("balanced_clumps") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 for i, clump_word in enumerate(clumps): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 clump_nodes = set(nodeid for nodeid in self.times.keys() if clump_word in nodeid) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 i %= nchunks 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 tests[i].update(clump_nodes) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 totals[i] += sum(self.times[nodeid] for nodeid in clump_nodes) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 clumped.update(clump_nodes) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 

+

126 # Then assign the rest in descending order 

+

127 rest = [(nodeid, t) for (nodeid, t) in self.times.items() if nodeid not in clumped] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 rest.sort(key=lambda item: item[1], reverse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 for nodeid, t in rest: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 lightest = min(enumerate(totals), key=lambda pair: pair[1])[0] 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

131 tests[lightest].add(nodeid) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

132 totals[lightest] += t 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

133 

+

134 test_chunks = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 for chunk_id, nodeids in tests.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 for nodeid in nodeids: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 test_chunks[nodeid] = chunk_id 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

138 

+

139 return BalancedScheduler(config, log, clumps, test_chunks) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 

+

141 

+

142class BalancedScheduler(xdist.scheduler.LoadScopeScheduling): # pylint: disable=abstract-method # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 """A balanced-chunk test scheduler for pytest-xdist.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 def __init__(self, config, log, clumps, test_chunks): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 super().__init__(config, log) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 self.clumps = clumps 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 self.test_chunks = test_chunks 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 

+

149 def _split_scope(self, nodeid): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 """Assign a chunk id to a test node.""" 

+

151 # If we have a chunk assignment for this node, return it. 

+

152 scope = self.test_chunks.get(nodeid) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 if scope is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 return scope 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

155 

+

156 # If this is a node that should be clumped, clump it. 

+

157 for i, clump_word in enumerate(self.clumps): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.cpypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 if clump_word in nodeid: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.cpypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 return f"clump{i}" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.cpypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 

+

161 # Otherwise every node is a separate chunk. 

+

162 return nodeid 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.cpypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 

+

164 

+

165# Run this with: 

+

166# python -c "from tests.balance_xdist_plugin import show_worker_times as f; f()" 

+

167def show_worker_times(): # pragma: debugging 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 """Ad-hoc utility to show data from the last tracked-test run.""" 

+

169 times = collections.defaultdict(float) 

+

170 tests = collections.defaultdict(int) 

+

171 tests_csv_dir = Path("tmp/tests_csv") 

+

172 

+

173 for csv_file in tests_csv_dir.iterdir(): 

+

174 with csv_file.open(newline="") as fcsv: 

+

175 reader = csv.reader(fcsv) 

+

176 for row in reader: 

+

177 worker = row[0] 

+

178 duration = float(row[3]) 

+

179 times[worker] += duration 

+

180 if row[2] == "call": 

+

181 tests[worker] += 1 

+

182 

+

183 for worker in sorted(tests.keys()): 

+

184 print(f"{worker}: {tests[worker]:3d} {times[worker]:.2f}") 

+

185 

+

186 total = sum(times.values()) 

+

187 avg = total / len(times) 

+

188 print(f"total: {total:.2f}, avg: {avg:.2f}") 

+

189 lo = min(times.values()) 

+

190 hi = max(times.values()) 

+

191 print(f"lo = {lo:.2f}; hi = {hi:.2f}; gap = {hi - lo:.2f}; long delta = {hi - avg:.2f}") 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_conftest_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_conftest_py.html new file mode 100644 index 000000000..eadf5aa39 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_conftest_py.html @@ -0,0 +1,238 @@ + + + + + Coverage for tests/conftest.py: 100.000% + + + + + +
+
+

+ Coverage for tests/conftest.py: + 100.000% +

+ +

+ 58 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4""" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5Pytest auto configuration. 

+

6 

+

7This module is run automatically by pytest, to define and enable fixtures. 

+

8""" 

+

9 

+

10from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import sysconfig 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from pathlib import Path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from typing import Iterator, Optional 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.files import set_relative_directory 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25# Pytest will rewrite assertions in test modules, but not elsewhere. 

+

26# This tells pytest to also rewrite assertions in coveragetest.py. 

+

27pytest.register_assert_rewrite("tests.coveragetest") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28pytest.register_assert_rewrite("tests.helpers") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 

+

30# Pytest can take additional options: 

+

31# $set_env.py: PYTEST_ADDOPTS - Extra arguments to pytest. 

+

32 

+

33pytest_plugins = "tests.balance_xdist_plugin" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 

+

36@pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37def set_warnings() -> None: 

+

38 """Configure warnings to show while running tests.""" 

+

39 warnings.simplefilter("default") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 warnings.simplefilter("once", DeprecationWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 

+

42 # Warnings to suppress: 

+

43 # How come these warnings are successfully suppressed here, but not in setup.cfg?? 

+

44 

+

45 warnings.filterwarnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 "ignore", 

+

47 category=DeprecationWarning, 

+

48 message=r".*imp module is deprecated in favour of importlib", 

+

49 ) 

+

50 

+

51 warnings.filterwarnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 "ignore", 

+

53 category=DeprecationWarning, 

+

54 message=r"module 'sre_constants' is deprecated", 

+

55 ) 

+

56 

+

57 warnings.filterwarnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 "ignore", 

+

59 category=pytest.PytestRemovedIn8Warning, 

+

60 ) 

+

61 

+

62 if env.PYPY: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 # pypy3 warns about unclosed files a lot. 

+

64 warnings.filterwarnings("ignore", r".*unclosed file", category=ResourceWarning) pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66 

+

67@pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68def reset_sys_path() -> Iterator[None]: 

+

69 """Clean up sys.path changes around every test.""" 

+

70 sys_path = list(sys.path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 sys.path[:] = sys_path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 

+

74 

+

75@pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76def reset_environment() -> Iterator[None]: 

+

77 """Make sure a test setting an envvar doesn't leak into another test.""" 

+

78 old_environ = os.environ.copy() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 os.environ.clear() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 os.environ.update(old_environ) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 

+

83 

+

84@pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85def reset_filesdotpy_globals() -> Iterator[None]: 

+

86 """coverage/files.py has some unfortunate globals. Reset them every test.""" 

+

87 set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 

+

90WORKER = os.environ.get("PYTEST_XDIST_WORKER", "none") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 

+

92def pytest_sessionstart() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 """Run once at the start of the test session.""" 

+

94 # Only in the main process... 

+

95 if WORKER == "none": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 # Create a .pth file for measuring subprocess coverage. 

+

97 pth_dir = find_writable_pth_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 assert pth_dir 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 (pth_dir / "subcover.pth").write_text("import coverage; coverage.process_startup()\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 # subcover.pth is deleted by pytest_sessionfinish below. 

+

101 

+

102 

+

103def pytest_sessionfinish() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 """Hook the end of a test session, to clean up.""" 

+

105 # This is called by each of the workers and by the main process. 

+

106 if WORKER == "none": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 for pth_dir in possible_pth_dirs(): # pragma: part covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 pth_file = pth_dir / "subcover.pth" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 if pth_file.exists(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 pth_file.unlink() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 

+

112 

+

113def possible_pth_dirs() -> Iterator[Path]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 """Produce a sequence of directories for trying to write .pth files.""" 

+

115 # First look through sys.path, and if we find a .pth file, then it's a good 

+

116 # place to put ours. 

+

117 for pth_dir in map(Path, sys.path): # pragma: part covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 pth_files = list(pth_dir.glob("*.pth")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 if pth_files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 yield pth_dir 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 

+

122 # If we're still looking, then try the Python library directory. 

+

123 # https://github.com/nedbat/coveragepy/issues/339 

+

124 yield Path(sysconfig.get_path("purelib")) # pragma: cant happen 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 

+

126 

+

127def find_writable_pth_directory() -> Optional[Path]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 """Find a place to write a .pth file.""" 

+

129 for pth_dir in possible_pth_dirs(): # pragma: part covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 try_it = pth_dir / f"touch_{WORKER}.it" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 try_it.write_text("foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 except OSError: # pragma: cant happen 

+

134 continue 

+

135 

+

136 os.remove(try_it) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 return pth_dir 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 

+

139 return None # pragma: cant happen 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_coveragetest_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_coveragetest_py.html new file mode 100644 index 000000000..001d58681 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_coveragetest_py.html @@ -0,0 +1,629 @@ + + + + + Coverage for tests/coveragetest.py: 100.000% + + + + + +
+
+

+ Coverage for tests/coveragetest.py: + 100.000% +

+ +

+ 225 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Base test case class for coverage.py testing.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import contextlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import difflib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import io 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import random 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17import shlex 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20from types import ModuleType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 Any, Collection, Dict, Iterable, Iterator, List, Mapping, Optional, 

+

23 Sequence, Tuple, Union, 

+

24) 

+

25 

+

26import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage import Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28from coverage.cmdline import CoverageScript 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from coverage.data import CoverageData 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30from coverage.misc import import_local_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31from coverage.types import TArc, TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33from tests.helpers import arcs_to_arcz_repr, arcz_to_arcs, assert_count_equal 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34from tests.helpers import nice_file, run_command 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35from tests.mixins import PytestBase, StdStreamCapturingMixin, RestoreModulesMixin, TempDirMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37 

+

38# Status returns for the command line. 

+

39OK, ERR = 0, 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 

+

41# The coverage/tests directory, for all sorts of finding test helping things. 

+

42TESTS_DIR = os.path.dirname(__file__) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 

+

44# Install arguments to pass to pip when reinstalling ourselves. 

+

45# Defaults to the top of the source tree, but can be overridden if we need 

+

46# some help on certain platforms. 

+

47COVERAGE_INSTALL_ARGS = os.getenv("COVERAGE_INSTALL_ARGS", nice_file(TESTS_DIR, "..")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 

+

50class CoverageTest( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 StdStreamCapturingMixin, 

+

52 RestoreModulesMixin, 

+

53 TempDirMixin, 

+

54 PytestBase, 

+

55): 

+

56 """A base class for coverage.py test cases.""" 

+

57 

+

58 # Standard unittest setting: show me diffs even if they are very long. 

+

59 maxDiff = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 

+

61 # Tell newer unittest implementations to print long helpful messages. 

+

62 longMessage = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 

+

64 # Let stderr go to stderr, pytest will capture it for us. 

+

65 show_stderr = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 

+

67 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 

+

70 # Attributes for getting info about what happened. 

+

71 self.last_command_status: Optional[int] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 self.last_command_output: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 self.last_module_name: Optional[str] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 def start_import_stop( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

76 self, 

+

77 cov: Coverage, 

+

78 modname: str, 

+

79 modfile: Optional[str] = None 

+

80 ) -> ModuleType: 

+

81 """Start coverage, import a file, then stop coverage. 

+

82 

+

83 `cov` is started and stopped, with an `import_local_file` of 

+

84 `modname` in the middle. `modfile` is the file to import as `modname` 

+

85 if it isn't in the current directory. 

+

86 

+

87 The imported module is returned. 

+

88 

+

89 """ 

+

90 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 try: # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 # Import the Python file, executing it. 

+

93 mod = import_local_file(modname, modfile) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 finally: # pragma: nested 

+

95 # Stop coverage.py. 

+

96 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 return mod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 

+

99 def get_report(self, cov: Coverage, squeeze: bool = True, **kwargs: Any) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 """Get the report from `cov`, and canonicalize it.""" 

+

101 repout = io.StringIO() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 kwargs.setdefault("show_missing", False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 cov.report(file=repout, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 report = repout.getvalue().replace('\\', '/') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 print(report) # When tests fail, it's helpful to see the output 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 if squeeze: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 report = re.sub(r" +", " ", report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 return report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 

+

110 def get_module_name(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 """Return a random module name to use for this test run.""" 

+

112 self.last_module_name = 'coverage_test_' + str(random.random())[2:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 return self.last_module_name 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 

+

115 def _check_arcs( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 self, 

+

117 a1: Optional[Iterable[TArc]], 

+

118 a2: Optional[Iterable[TArc]], 

+

119 arc_type: str, 

+

120 ) -> str: 

+

121 """Check that the arc lists `a1` and `a2` are equal. 

+

122 

+

123 If they are equal, return empty string. If they are unequal, return 

+

124 a string explaining what is different. 

+

125 """ 

+

126 # Make them into multi-line strings so we can see what's going wrong. 

+

127 s1 = arcs_to_arcz_repr(a1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 s2 = arcs_to_arcz_repr(a2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 if s1 != s2: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 lines1 = s1.splitlines(True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 lines2 = s2.splitlines(True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 diff = "".join(difflib.ndiff(lines1, lines2)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 return "\n" + arc_type + " arcs differ: minus is expected, plus is actual\n" + diff 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 else: 

+

135 return "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 

+

137 def check_coverage( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

138 self, 

+

139 text: str, 

+

140 lines: Optional[Union[Sequence[TLineNo], Sequence[List[TLineNo]]]] = None, 

+

141 missing: Union[str, Sequence[str]] = "", 

+

142 report: str = "", 

+

143 excludes: Optional[Iterable[str]] = None, 

+

144 partials: Iterable[str] = (), 

+

145 arcz: Optional[str] = None, 

+

146 arcz_missing: Optional[str] = None, 

+

147 arcz_unpredicted: Optional[str] = None, 

+

148 arcs: Optional[Iterable[TArc]] = None, 

+

149 arcs_missing: Optional[Iterable[TArc]] = None, 

+

150 arcs_unpredicted: Optional[Iterable[TArc]] = None, 

+

151 ) -> Coverage: 

+

152 """Check the coverage measurement of `text`. 

+

153 

+

154 The source `text` is run and measured. `lines` are the line numbers 

+

155 that are executable, or a list of possible line numbers, any of which 

+

156 could match. `missing` are the lines not executed, `excludes` are 

+

157 regexes to match against for excluding lines, and `report` is the text 

+

158 of the measurement report. 

+

159 

+

160 For arc measurement, `arcz` is a string that can be decoded into arcs 

+

161 in the code (see `arcz_to_arcs` for the encoding scheme). 

+

162 `arcz_missing` are the arcs that are not executed, and 

+

163 `arcz_unpredicted` are the arcs executed in the code, but not deducible 

+

164 from the code. These last two default to "", meaning we explicitly 

+

165 check that there are no missing or unpredicted arcs. 

+

166 

+

167 Returns the Coverage object, in case you want to poke at it some more. 

+

168 

+

169 """ 

+

170 __tracebackhide__ = True # pytest, please don't show me this function. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 

+

172 # We write the code into a file so that we can import it. 

+

173 # Coverage.py wants to deal with things as modules with file names. 

+

174 modname = self.get_module_name() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 

+

176 self.make_file(modname + ".py", text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 

+

178 if arcs is None and arcz is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 arcs = arcz_to_arcs(arcz) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 if arcs_missing is None and arcz_missing is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 arcs_missing = arcz_to_arcs(arcz_missing) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 if arcs_unpredicted is None and arcz_unpredicted is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 arcs_unpredicted = arcz_to_arcs(arcz_unpredicted) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 

+

185 # Start up coverage.py. 

+

186 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 cov.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 for exc in excludes or []: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 cov.exclude(exc) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 for par in partials or []: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 cov.exclude(par, which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 

+

193 mod = self.start_import_stop(cov, modname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 

+

195 # Clean up our side effects 

+

196 del sys.modules[modname] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 

+

198 # Get the analysis results, and check that they are right. 

+

199 analysis = cov._analyze(mod) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 statements = sorted(analysis.statements) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 if lines is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 if isinstance(lines[0], int): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 # lines is just a list of numbers, it must match the statements 

+

204 # found in the code. 

+

205 assert statements == lines, f"{statements!r} != {lines!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 else: 

+

207 # lines is a list of possible line number lists, one of them 

+

208 # must match. 

+

209 for line_list in lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 if statements == line_list: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 else: 

+

213 assert False, f"None of the lines choices matched {statements!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 

+

215 missing_formatted = analysis.missing_formatted() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 if isinstance(missing, str): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 msg = f"{missing_formatted!r} != {missing!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 assert missing_formatted == missing, msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 else: 

+

220 for missing_list in missing: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 if missing_formatted == missing_list: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 else: 

+

224 assert False, f"None of the missing choices matched {missing_formatted!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 

+

226 if arcs is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 # print("Possible arcs:") 

+

228 # print(" expected:", arcs) 

+

229 # print(" actual:", analysis.arc_possibilities()) 

+

230 # print("Executed:") 

+

231 # print(" actual:", sorted(set(analysis.arcs_executed()))) 

+

232 # TODO: this would be nicer with pytest-check, once we can run that. 

+

233 msg = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 self._check_arcs(arcs, analysis.arc_possibilities(), "Possible") + 

+

235 self._check_arcs(arcs_missing, analysis.arcs_missing(), "Missing") + 

+

236 self._check_arcs(arcs_unpredicted, analysis.arcs_unpredicted(), "Unpredicted") 

+

237 ) 

+

238 if msg: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 assert False, msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 

+

241 if report: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 frep = io.StringIO() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 cov.report(mod, file=frep, show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 rep = " ".join(frep.getvalue().split("\n")[2].split()[1:]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 assert report == rep, f"{report!r} != {rep!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 

+

247 return cov 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 

+

249 def make_data_file( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

250 self, 

+

251 basename: Optional[str] = None, 

+

252 suffix: Optional[str] = None, 

+

253 lines: Optional[Mapping[str, Collection[TLineNo]]] = None, 

+

254 arcs: Optional[Mapping[str, Collection[TArc]]] = None, 

+

255 file_tracers: Optional[Mapping[str, str]] = None, 

+

256 ) -> CoverageData: 

+

257 """Write some data into a coverage data file.""" 

+

258 data = coverage.CoverageData(basename=basename, suffix=suffix) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 assert lines is None or arcs is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 if lines: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 data.add_lines(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 if arcs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 data.add_arcs(arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 if file_tracers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 data.add_file_tracers(file_tracers) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 data.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 return data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 

+

269 @contextlib.contextmanager 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 def assert_warnings( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

271 self, 

+

272 cov: Coverage, 

+

273 warnings: Iterable[str], 

+

274 not_warnings: Iterable[str] = (), 

+

275 ) -> Iterator[None]: 

+

276 """A context manager to check that particular warnings happened in `cov`. 

+

277 

+

278 `cov` is a Coverage instance. `warnings` is a list of regexes. Every 

+

279 regex must match a warning that was issued by `cov`. It is OK for 

+

280 extra warnings to be issued by `cov` that are not matched by any regex. 

+

281 Warnings that are disabled are still considered issued by this function. 

+

282 

+

283 `not_warnings` is a list of regexes that must not appear in the 

+

284 warnings. This is only checked if there are some positive warnings to 

+

285 test for in `warnings`. 

+

286 

+

287 If `warnings` is empty, then `cov` is not allowed to issue any 

+

288 warnings. 

+

289 

+

290 """ 

+

291 __tracebackhide__ = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 saved_warnings = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 def capture_warning( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

294 msg: str, 

+

295 slug: Optional[str] = None, 

+

296 once: bool = False, # pylint: disable=unused-argument 

+

297 ) -> None: 

+

298 """A fake implementation of Coverage._warn, to capture warnings.""" 

+

299 # NOTE: we don't implement `once`. 

+

300 if slug: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 msg = f"{msg} ({slug})" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 saved_warnings.append(msg) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 

+

304 original_warn = cov._warn 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 cov._warn = capture_warning # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 

+

307 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 except: # pylint: disable=try-except-raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 raise 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 else: 

+

312 if warnings: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 for warning_regex in warnings: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 for saved in saved_warnings: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 if re.search(warning_regex, saved): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 else: 

+

318 msg = f"Didn't find warning {warning_regex!r} in {saved_warnings!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 assert False, msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 for warning_regex in not_warnings: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 for saved in saved_warnings: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 if re.search(warning_regex, saved): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 msg = f"Found warning {warning_regex!r} in {saved_warnings!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 assert False, msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 else: 

+

326 # No warnings expected. Raise if any warnings happened. 

+

327 if saved_warnings: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 assert False, f"Unexpected warnings: {saved_warnings!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 finally: 

+

330 cov._warn = original_warn # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 

+

332 def assert_same_files(self, flist1: Iterable[str], flist2: Iterable[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 """Assert that `flist1` and `flist2` are the same set of file names.""" 

+

334 flist1_nice = [nice_file(f) for f in flist1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 flist2_nice = [nice_file(f) for f in flist2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 assert_count_equal(flist1_nice, flist2_nice) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 

+

338 def assert_exists(self, fname: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 """Assert that `fname` is a file that exists.""" 

+

340 assert os.path.exists(fname), f"File {fname!r} should exist" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 

+

342 def assert_doesnt_exist(self, fname: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 """Assert that `fname` is a file that doesn't exist.""" 

+

344 assert not os.path.exists(fname), f"File {fname!r} shouldn't exist" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 

+

346 def assert_file_count(self, pattern: str, count: int) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

347 """Assert that there are `count` files matching `pattern`.""" 

+

348 files = sorted(glob.glob(pattern)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 msg = "There should be {} files matching {!r}, but there are these: {}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 msg = msg.format(count, pattern, files) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 assert len(files) == count, msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 

+

353 def assert_recent_datetime( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

354 self, 

+

355 dt: datetime.datetime, 

+

356 seconds: int = 10, 

+

357 msg: Optional[str] = None, 

+

358 ) -> None: 

+

359 """Assert that `dt` marks a time at most `seconds` seconds ago.""" 

+

360 age = datetime.datetime.now() - dt 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 assert age.total_seconds() >= 0, msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 assert age.total_seconds() <= seconds, msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 

+

364 def command_line(self, args: str, ret: int = OK) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 """Run `args` through the command line. 

+

366 

+

367 Use this when you want to run the full coverage machinery, but in the 

+

368 current process. Exceptions may be thrown from deep in the code. 

+

369 Asserts that `ret` is returned by `CoverageScript.command_line`. 

+

370 

+

371 Compare with `run_command`. 

+

372 

+

373 Returns None. 

+

374 

+

375 """ 

+

376 ret_actual = command_line(args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 assert ret_actual == ret, f"{ret_actual!r} != {ret!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 

+

379 # Some distros rename the coverage command, and need a way to indicate 

+

380 # their new command name to the tests. This is here for them to override, 

+

381 # for example: 

+

382 # https://salsa.debian.org/debian/pkg-python-coverage/-/blob/master/debian/patches/02.rename-public-programs.patch 

+

383 coverage_command = "coverage" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 

+

385 def run_command(self, cmd: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 """Run the command-line `cmd` in a sub-process. 

+

387 

+

388 `cmd` is the command line to invoke in a sub-process. Returns the 

+

389 combined content of `stdout` and `stderr` output streams from the 

+

390 sub-process. 

+

391 

+

392 See `run_command_status` for complete semantics. 

+

393 

+

394 Use this when you need to test the process behavior of coverage. 

+

395 

+

396 Compare with `command_line`. 

+

397 

+

398 """ 

+

399 _, output = self.run_command_status(cmd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 return output 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 

+

402 def run_command_status(self, cmd: str) -> Tuple[int, str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 """Run the command-line `cmd` in a sub-process, and print its output. 

+

404 

+

405 Use this when you need to test the process behavior of coverage. 

+

406 

+

407 Compare with `command_line`. 

+

408 

+

409 Handles the following command names specially: 

+

410 

+

411 * "python" is replaced with the command name of the current 

+

412 Python interpreter. 

+

413 

+

414 * "coverage" is replaced with the command name for the main 

+

415 coverage.py program. 

+

416 

+

417 Returns a pair: the process' exit status and its stdout/stderr text, 

+

418 which are also stored as `self.last_command_status` and 

+

419 `self.last_command_output`. 

+

420 

+

421 """ 

+

422 # Make sure "python" and "coverage" mean specifically what we want 

+

423 # them to mean. 

+

424 split_commandline = cmd.split() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 command_name = split_commandline[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 command_args = split_commandline[1:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 

+

428 if command_name == "python": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 # Running a Python interpreter in a sub-processes can be tricky. 

+

430 # Use the real name of our own executable. So "python foo.py" might 

+

431 # get executed as "python3.3 foo.py". This is important because 

+

432 # Python 3.x doesn't install as "python", so you might get a Python 

+

433 # 2 executable instead if you don't use the executable's basename. 

+

434 command_words = [os.path.basename(sys.executable)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

435 

+

436 elif command_name == "coverage": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 # The invocation requests the coverage.py program. Substitute the 

+

438 # actual coverage.py main command name. 

+

439 command_words = [self.coverage_command] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 

+

441 else: 

+

442 command_words = [command_name] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 

+

444 cmd = " ".join([shlex.quote(w) for w in command_words] + command_args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 

+

446 # Add our test modules directory to PYTHONPATH. I'm sure there's too 

+

447 # much path munging here, but... 

+

448 pythonpath_name = "PYTHONPATH" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 

+

450 testmods = nice_file(self.working_root(), "tests/modules") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 zipfile = nice_file(self.working_root(), "tests/zipmods.zip") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

452 pypath = os.getenv(pythonpath_name, '') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453 if pypath: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 pypath += os.pathsep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 pypath += testmods + os.pathsep + zipfile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

456 self.set_environ(pythonpath_name, pypath) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

457 

+

458 self.last_command_status, self.last_command_output = run_command(cmd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 print(self.last_command_output) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 return self.last_command_status, self.last_command_output 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

461 

+

462 def working_root(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 """Where is the root of the coverage.py working tree?""" 

+

464 return os.path.dirname(nice_file(__file__, "..")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

465 

+

466 def report_from_command(self, cmd: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

467 """Return the report from the `cmd`, with some convenience added.""" 

+

468 report = self.run_command(cmd).replace('\\', '/') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 assert "error" not in report.lower() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 return report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 

+

472 def report_lines(self, report: str) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

473 """Return the lines of the report, as a list.""" 

+

474 lines = report.split('\n') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 assert lines[-1] == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

476 return lines[:-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

477 

+

478 def line_count(self, report: str) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 """How many lines are in `report`?""" 

+

480 return len(self.report_lines(report)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 

+

482 def squeezed_lines(self, report: str) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 """Return a list of the lines in report, with the spaces squeezed.""" 

+

484 lines = self.report_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

485 return [re.sub(r"\s+", " ", l.strip()) for l in lines] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 

+

487 def last_line_squeezed(self, report: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

488 """Return the last line of `report` with the spaces squeezed down.""" 

+

489 return self.squeezed_lines(report)[-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 

+

491 def get_measured_filenames(self, coverage_data: CoverageData) -> Dict[str, str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 """Get paths to measured files. 

+

493 

+

494 Returns a dict of {filename: absolute path to file} 

+

495 for given CoverageData. 

+

496 """ 

+

497 return {os.path.basename(filename): filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 for filename in coverage_data.measured_files()} 

+

499 

+

500 def get_missing_arc_description(self, cov: Coverage, start: TLineNo, end: TLineNo) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

501 """Get the missing-arc description for a line arc in a coverage run.""" 

+

502 # ugh, unexposed methods?? 

+

503 assert self.last_module_name is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 filename = self.last_module_name + ".py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 fr = cov._get_file_reporter(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 arcs_executed = cov._analyze(filename).arcs_executed() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 return fr.missing_arc_description(start, end, arcs_executed) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 

+

509 

+

510class UsingModulesMixin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 """A mixin for importing modules from tests/modules and tests/moremodules.""" 

+

512 

+

513 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 super().setUp() # type: ignore[misc] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 

+

516 # Parent class saves and restores sys.path, we can just modify it. 

+

517 sys.path.append(nice_file(TESTS_DIR, "modules")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

518 sys.path.append(nice_file(TESTS_DIR, "moremodules")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

519 sys.path.append(nice_file(TESTS_DIR, "zipmods.zip")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

520 

+

521 

+

522def command_line(args: str) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 """Run `args` through the CoverageScript command line. 

+

524 

+

525 Returns the return code from CoverageScript.command_line. 

+

526 

+

527 """ 

+

528 script = CoverageScript() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

529 ret = script.command_line(shlex.split(args)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

530 return ret 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_covmodzip1_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_covmodzip1_py.html new file mode 100644 index 000000000..3bdb8c772 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_covmodzip1_py.html @@ -0,0 +1,109 @@ + + + + + Coverage for tests/covmodzip1.py: 0.000% + + + + + +
+
+

+ Coverage for tests/covmodzip1.py: + 0.000% +

+ +

+ 2 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4# Module-level docstrings are counted differently in different versions of Python, 

+

5# so don't add one here. 

+

6# pylint: disable=missing-module-docstring 

+

7 

+

8# covmodzip.py: for putting into a zip file. 

+

9j = 1 

+

10j += 1 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_goldtest_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_goldtest_py.html new file mode 100644 index 000000000..979c1cce4 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_goldtest_py.html @@ -0,0 +1,290 @@ + + + + + Coverage for tests/goldtest.py: 100.000% + + + + + +
+
+

+ Coverage for tests/goldtest.py: + 100.000% +

+ +

+ 96 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""A test base class for tests based on gold file comparison.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import difflib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import filecmp 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import fnmatch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import xml.etree.ElementTree 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from typing import Iterable, List, Optional, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from tests.coveragetest import TESTS_DIR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from tests.helpers import os_sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21 

+

22def gold_path(path: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 """Get a path to a gold file for comparison.""" 

+

24 return os.path.join(TESTS_DIR, "gold", path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26 

+

27def compare( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

28 expected_dir: str, 

+

29 actual_dir: str, 

+

30 file_pattern: Optional[str] = None, 

+

31 actual_extra: bool = False, 

+

32 scrubs: Optional[List[Tuple[str, str]]] = None, 

+

33) -> None: 

+

34 """Compare files matching `file_pattern` in `expected_dir` and `actual_dir`. 

+

35 

+

36 `actual_extra` true means `actual_dir` can have extra files in it 

+

37 without triggering an assertion. 

+

38 

+

39 `scrubs` is a list of pairs: regexes to find and replace to scrub the 

+

40 files of unimportant differences. 

+

41 

+

42 If a comparison fails, a message will be written to stdout, the original 

+

43 unscrubbed output of the test will be written to an "/actual/" directory 

+

44 alongside the "/gold/" directory, and an assertion will be raised. 

+

45 

+

46 """ 

+

47 __tracebackhide__ = True # pytest, please don't show me this function. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 assert os_sep("/gold/") in expected_dir 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 dc = filecmp.dircmp(expected_dir, actual_dir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 diff_files = _fnmatch_list(dc.diff_files, file_pattern) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 expected_only = _fnmatch_list(dc.left_only, file_pattern) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 actual_only = _fnmatch_list(dc.right_only, file_pattern) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 

+

55 def save_mismatch(f: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 """Save a mismatched result to tests/actual.""" 

+

57 save_path = expected_dir.replace(os_sep("/gold/"), os_sep("/actual/")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 os.makedirs(save_path, exist_ok=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 with open(os.path.join(save_path, f), "w") as savef: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 with open(os.path.join(actual_dir, f)) as readf: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 savef.write(readf.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 

+

63 # filecmp only compares in binary mode, but we want text mode. So 

+

64 # look through the list of different files, and compare them 

+

65 # ourselves. 

+

66 text_diff = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 for f in diff_files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 expected_file = os.path.join(expected_dir, f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 with open(expected_file) as fobj: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 expected = fobj.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 if expected_file.endswith(".xml"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 expected = canonicalize_xml(expected) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 

+

74 actual_file = os.path.join(actual_dir, f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 with open(actual_file) as fobj: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 actual = fobj.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 if actual_file.endswith(".xml"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 actual = canonicalize_xml(actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 

+

80 if scrubs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 expected = scrub(expected, scrubs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 actual = scrub(actual, scrubs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 if expected != actual: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 text_diff.append(f'{expected_file} != {actual_file}') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 expected_lines = expected.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 actual_lines = actual.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 print(f":::: diff '{expected_file}' and '{actual_file}'") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 print("\n".join(difflib.Differ().compare(expected_lines, actual_lines))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 print(f":::: end diff '{expected_file}' and '{actual_file}'") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 save_mismatch(f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 

+

92 if not actual_extra: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 for f in actual_only: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 save_mismatch(f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96 assert not text_diff, "Files differ: " + "\n".join(text_diff) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 assert not expected_only, f"Files in {expected_dir} only: {expected_only}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 if not actual_extra: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 assert not actual_only, f"Files in {actual_dir} only: {actual_only}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 

+

102 

+

103def contains(filename: str, *strlist: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 """Check that the file contains all of a list of strings. 

+

105 

+

106 An assert will be raised if one of the arguments in `strlist` is 

+

107 missing in `filename`. 

+

108 

+

109 """ 

+

110 __tracebackhide__ = True # pytest, please don't show me this function. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 with open(filename) as fobj: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 text = fobj.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 for s in strlist: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 assert s in text, f"Missing content in {filename}: {s!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 

+

116 

+

117def contains_rx(filename: str, *rxlist: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 """Check that the file has lines that re.search all of the regexes. 

+

119 

+

120 An assert will be raised if one of the regexes in `rxlist` doesn't match 

+

121 any lines in `filename`. 

+

122 

+

123 """ 

+

124 __tracebackhide__ = True # pytest, please don't show me this function. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 with open(filename) as fobj: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 lines = fobj.readlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 for rx in rxlist: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 assert any(re.search(rx, line) for line in lines), ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 f"Missing regex in {filename}: r{rx!r}" 

+

130 ) 

+

131 

+

132 

+

133def contains_any(filename: str, *strlist: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 """Check that the file contains at least one of a list of strings. 

+

135 

+

136 An assert will be raised if none of the arguments in `strlist` is in 

+

137 `filename`. 

+

138 

+

139 """ 

+

140 __tracebackhide__ = True # pytest, please don't show me this function. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 with open(filename) as fobj: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 text = fobj.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 for s in strlist: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 if s in text: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 

+

147 assert False, f"Missing content in {filename}: {strlist[0]!r} [1 of {len(strlist)}]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 

+

149 

+

150def doesnt_contain(filename: str, *strlist: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 """Check that the file contains none of a list of strings. 

+

152 

+

153 An assert will be raised if any of the strings in `strlist` appears in 

+

154 `filename`. 

+

155 

+

156 """ 

+

157 __tracebackhide__ = True # pytest, please don't show me this function. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 with open(filename) as fobj: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 text = fobj.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 for s in strlist: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 assert s not in text, f"Forbidden content in {filename}: {s!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 

+

163 

+

164# Helpers 

+

165 

+

166def canonicalize_xml(xtext: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 """Canonicalize some XML text.""" 

+

168 root = xml.etree.ElementTree.fromstring(xtext) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 for node in root.iter(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 node.attrib = dict(sorted(node.items())) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 return xml.etree.ElementTree.tostring(root).decode("utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 

+

173 

+

174def _fnmatch_list(files: List[str], file_pattern: Optional[str]) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 """Filter the list of `files` to only those that match `file_pattern`. 

+

176 If `file_pattern` is None, then return the entire list of files. 

+

177 Returns a list of the filtered files. 

+

178 """ 

+

179 if file_pattern: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 files = [f for f in files if fnmatch.fnmatch(f, file_pattern)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 return files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 

+

183 

+

184def scrub(strdata: str, scrubs: Iterable[Tuple[str, str]]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 """Scrub uninteresting data from the payload in `strdata`. 

+

186 `scrubs` is a list of (find, replace) pairs of regexes that are used on 

+

187 `strdata`. A string is returned. 

+

188 """ 

+

189 for rx_find, rx_replace in scrubs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 strdata = re.sub(rx_find, rx_replace, strdata) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 return strdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_helpers_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_helpers_py.html new file mode 100644 index 000000000..58ac164a3 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_helpers_py.html @@ -0,0 +1,438 @@ + + + + + Coverage for tests/helpers.py: 100.000% + + + + + +
+
+

+ Coverage for tests/helpers.py: + 100.000% +

+ +

+ 131 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Helpers for coverage.py tests.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import collections 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import contextlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import shutil 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import subprocess 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from pathlib import Path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 Any, Callable, Iterable, Iterator, List, Optional, Set, Tuple, Type, 

+

21 TypeVar, Union, cast, 

+

22) 

+

23 

+

24import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.exceptions import CoverageWarning 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28from coverage.misc import output_encoding 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from coverage.types import TArc, TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 

+

31 

+

32def run_command(cmd: str) -> Tuple[int, str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 """Run a command in a sub-process. 

+

34 

+

35 Returns the exit status code and the combined stdout and stderr. 

+

36 

+

37 """ 

+

38 # Subprocesses are expensive, but convenient, and so may be over-used in 

+

39 # the test suite. Use these lines to get a list of the tests using them: 

+

40 if 0: # pragma: debugging 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

41 with open("/tmp/processes.txt", "a") as proctxt: # type: ignore[unreachable] 

+

42 print(os.environ.get("PYTEST_CURRENT_TEST", "unknown"), file=proctxt, flush=True) 

+

43 

+

44 # In some strange cases (PyPy3 in a virtualenv!?) the stdout encoding of 

+

45 # the subprocess is set incorrectly to ascii. Use an environment variable 

+

46 # to force the encoding to be the same as ours. 

+

47 sub_env = dict(os.environ) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 sub_env['PYTHONIOENCODING'] = output_encoding() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 proc = subprocess.Popen( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 cmd, 

+

52 shell=True, 

+

53 env=sub_env, 

+

54 stdin=subprocess.PIPE, 

+

55 stdout=subprocess.PIPE, 

+

56 stderr=subprocess.STDOUT, 

+

57 ) 

+

58 output, _ = proc.communicate() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 status = proc.returncode 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 

+

61 # Get the output, and canonicalize it to strings with newlines. 

+

62 output_str = output.decode(output_encoding()).replace("\r", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 return status, output_str 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 

+

66def make_file( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

67 filename: str, 

+

68 text: str = "", 

+

69 bytes: bytes = b"", 

+

70 newline: Optional[str] = None, 

+

71) -> str: 

+

72 """Create a file for testing. 

+

73 

+

74 `filename` is the relative path to the file, including directories if 

+

75 desired, which will be created if need be. 

+

76 

+

77 `text` is the text content to create in the file, or `bytes` are the 

+

78 bytes to write. 

+

79 

+

80 If `newline` is provided, it is a string that will be used as the line 

+

81 endings in the created file, otherwise the line endings are as provided 

+

82 in `text`. 

+

83 

+

84 Returns `filename`. 

+

85 

+

86 """ 

+

87 # pylint: disable=redefined-builtin # bytes 

+

88 if bytes: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 data = bytes 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 else: 

+

91 text = textwrap.dedent(text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 if newline: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 text = text.replace("\n", newline) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 data = text.encode("utf-8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96 # Make sure the directories are available. 

+

97 dirs, _ = os.path.split(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 if dirs and not os.path.exists(dirs): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 os.makedirs(dirs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 

+

101 # Create the file. 

+

102 with open(filename, 'wb') as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 f.write(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 

+

105 # For debugging, enable this to show the contents of files created. 

+

106 if 0: # pragma: debugging 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

107 print(f" ───┬──┤ {filename} ├───────────────────────") # type: ignore[unreachable] 

+

108 for lineno, line in enumerate(data.splitlines(), start=1): 

+

109 print(f"{lineno:6}│ {line.rstrip().decode()}") 

+

110 print() 

+

111 

+

112 return filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 

+

114 

+

115def nice_file(*fparts: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 """Canonicalize the file name composed of the parts in `fparts`.""" 

+

117 fname = os.path.join(*fparts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 return os.path.normcase(os.path.abspath(os.path.realpath(fname))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 

+

120 

+

121def os_sep(s: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 """Replace slashes in `s` with the correct separator for the OS.""" 

+

123 return s.replace("/", os.sep) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 

+

125 

+

126class CheckUniqueFilenames: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 """Asserts the uniqueness of file names passed to a function.""" 

+

128 

+

129 def __init__(self, wrapped: Callable[..., Any]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 self.filenames: Set[str] = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 self.wrapped = wrapped 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 

+

133 @classmethod 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 def hook(cls, obj: Any, method_name: str) -> CheckUniqueFilenames: 

+

135 """Replace a method with our checking wrapper. 

+

136 

+

137 The method must take a string as a first argument. That argument 

+

138 will be checked for uniqueness across all the calls to this method. 

+

139 

+

140 The values don't have to be file names actually, just strings, but 

+

141 we only use it for filename arguments. 

+

142 

+

143 """ 

+

144 method = getattr(obj, method_name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 hook = cls(method) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 setattr(obj, method_name, hook.wrapper) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 return hook 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 

+

149 def wrapper(self, filename: str, *args: Any, **kwargs: Any) -> Any: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 """The replacement method. Check that we don't have dupes.""" 

+

151 assert filename not in self.filenames, ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 f"File name {filename!r} passed to {self.wrapped!r} twice" 

+

153 ) 

+

154 self.filenames.add(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 return self.wrapped(filename, *args, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 

+

157 

+

158def re_lines(pat: str, text: str, match: bool = True) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 """Return a list of lines selected by `pat` in the string `text`. 

+

160 

+

161 If `match` is false, the selection is inverted: only the non-matching 

+

162 lines are included. 

+

163 

+

164 Returns a list, the selected lines, without line endings. 

+

165 

+

166 """ 

+

167 assert len(pat) < 200, "It's super-easy to swap the arguments to re_lines" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 return [l for l in text.splitlines() if bool(re.search(pat, l)) == match] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 

+

170 

+

171def re_lines_text(pat: str, text: str, match: bool = True) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 """Return the multi-line text of lines selected by `pat`.""" 

+

173 return "".join(l + "\n" for l in re_lines(pat, text, match=match)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 

+

175 

+

176def re_line(pat: str, text: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 """Return the one line in `text` that matches regex `pat`. 

+

178 

+

179 Raises an AssertionError if more than one, or less than one, line matches. 

+

180 

+

181 """ 

+

182 lines = re_lines(pat, text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 assert len(lines) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 return lines[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 

+

186 

+

187def remove_tree(dirname: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 """Remove a directory tree. 

+

189 

+

190 It's fine for the directory to not exist in the first place. 

+

191 """ 

+

192 if os.path.exists(dirname): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 shutil.rmtree(dirname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 

+

195 

+

196# Map chars to numbers for arcz_to_arcs 

+

197_arcz_map = {'.': -1} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198_arcz_map.update({c: ord(c) - ord('0') for c in '123456789'}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199_arcz_map.update({c: 10 + ord(c) - ord('A') for c in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 

+

201 

+

202def arcz_to_arcs(arcz: str) -> List[TArc]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 """Convert a compact textual representation of arcs to a list of pairs. 

+

204 

+

205 The text has space-separated pairs of letters. Period is -1, 1-9 are 

+

206 1-9, A-Z are 10 through 36. The resulting list is sorted regardless of 

+

207 the order of the input pairs. 

+

208 

+

209 ".1 12 2." --> [(-1,1), (1,2), (2,-1)] 

+

210 

+

211 Minus signs can be included in the pairs: 

+

212 

+

213 "-11, 12, 2-5" --> [(-1,1), (1,2), (2,-5)] 

+

214 

+

215 """ 

+

216 # The `type: ignore[misc]` here are to suppress "Unpacking a string is 

+

217 # disallowed". 

+

218 a: str 

+

219 b: str 

+

220 arcs = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 for pair in arcz.split(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 asgn = bsgn = 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 if len(pair) == 2: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 a, b = pair # type: ignore[misc] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 else: 

+

226 assert len(pair) == 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 if pair[0] == "-": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 _, a, b = pair # type: ignore[misc] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 asgn = -1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 else: 

+

231 assert pair[1] == "-" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 a, _, b = pair # type: ignore[misc] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 bsgn = -1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 arcs.append((asgn * _arcz_map[a], bsgn * _arcz_map[b])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 return sorted(arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 

+

237 

+

238_arcz_unmap = {val: ch for ch, val in _arcz_map.items()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 

+

240 

+

241def _arcs_to_arcz_repr_one(num: TLineNo) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 """Return an arcz form of the number `num`, or "?" if there is none.""" 

+

243 if num == -1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 return "." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 z = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 if num < 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 z += "-" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 num *= -1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 z += _arcz_unmap.get(num, "?") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 return z 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 

+

252 

+

253def arcs_to_arcz_repr(arcs: Optional[Iterable[TArc]]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 """Convert a list of arcs to a readable multi-line form for asserting. 

+

255 

+

256 Each pair is on its own line, with a comment showing the arcz form, 

+

257 to make it easier to decode when debugging test failures. 

+

258 

+

259 """ 

+

260 repr_list = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 for a, b in (arcs or ()): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 line = repr((a, b)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 line += " # " 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 line += _arcs_to_arcz_repr_one(a) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 line += _arcs_to_arcz_repr_one(b) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 repr_list.append(line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 return "\n".join(repr_list) + "\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 

+

269 

+

270@contextlib.contextmanager 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271def change_dir(new_dir: Union[str, Path]) -> Iterator[None]: 

+

272 """Change directory, and then change back. 

+

273 

+

274 Use as a context manager, it will return to the original 

+

275 directory at the end of the block. 

+

276 

+

277 """ 

+

278 old_dir = os.getcwd() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 os.chdir(str(new_dir)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 finally: 

+

283 os.chdir(old_dir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 

+

285T = TypeVar("T") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 

+

287def assert_count_equal( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 a: Optional[Iterable[T]], 

+

289 b: Optional[Iterable[T]], 

+

290) -> None: 

+

291 """ 

+

292 A pytest-friendly implementation of assertCountEqual. 

+

293 

+

294 Assert that `a` and `b` have the same elements, but maybe in different order. 

+

295 This only works for hashable elements. 

+

296 """ 

+

297 assert a is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 assert b is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 assert collections.Counter(list(a)) == collections.Counter(list(b)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 

+

301 

+

302def assert_coverage_warnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 warns: Iterable[warnings.WarningMessage], 

+

304 *msgs: Union[str, re.Pattern[str]], 

+

305) -> None: 

+

306 """ 

+

307 Assert that the CoverageWarning's in `warns` have `msgs` as messages. 

+

308 

+

309 Each msg can be a string compared for equality, or a compiled regex used to 

+

310 search the text. 

+

311 """ 

+

312 assert msgs # don't call this without some messages. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 warns = [w for w in warns if issubclass(w.category, CoverageWarning)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 assert len(warns) == len(msgs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 for actual, expected in zip((cast(Warning, w.message).args[0] for w in warns), msgs): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 if hasattr(expected, "search"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 assert expected.search(actual), f"{actual!r} didn't match {expected!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 else: 

+

319 assert expected == actual 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 

+

321 

+

322@contextlib.contextmanager 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323def swallow_warnings( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 message: str = r".", 

+

325 category: Type[Warning] = CoverageWarning, 

+

326) -> Iterator[None]: 

+

327 """Swallow particular warnings. 

+

328 

+

329 It's OK if they happen, or if they don't happen. Just ignore them. 

+

330 """ 

+

331 with warnings.catch_warnings(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 warnings.filterwarnings("ignore", category=category, message=message) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 

+

335 

+

336xfail_pypy38 = pytest.mark.xfail( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 env.PYPY and env.PYVERSION[:2] == (3, 8) and env.PYPYVERSION < (7, 3, 11), 

+

338 reason="These tests fail on older PyPy 3.8", 

+

339) 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_mixins_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_mixins_py.html new file mode 100644 index 000000000..6d444c776 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_mixins_py.html @@ -0,0 +1,248 @@ + + + + + Coverage for tests/mixins.py: 100.000% + + + + + +
+
+

+ Coverage for tests/mixins.py: + 100.000% +

+ +

+ 55 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4""" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5Test class mixins 

+

6 

+

7Some of these are transitional while working toward pure-pytest style. 

+

8""" 

+

9 

+

10from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12import importlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from typing import Any, Callable, Iterable, Iterator, Optional, Tuple, cast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21from coverage.misc import SysModuleSaver 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from tests.helpers import change_dir, make_file, remove_tree 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24 

+

25class PytestBase: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 """A base class to connect to pytest in a test class hierarchy.""" 

+

27 

+

28 @pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 def connect_to_pytest( 

+

30 self, 

+

31 request: pytest.FixtureRequest, 

+

32 monkeypatch: pytest.MonkeyPatch, 

+

33 ) -> None: 

+

34 """Captures pytest facilities for use by other test helpers.""" 

+

35 # pylint: disable=attribute-defined-outside-init 

+

36 self._pytest_request = request 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 self._monkeypatch = monkeypatch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 self.setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 

+

40 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 """Per-test initialization. Override this as you wish.""" 

+

42 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 

+

44 def addCleanup(self, fn: Callable[..., None], *args: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 """Like unittest's addCleanup: code to call when the test is done.""" 

+

46 self._pytest_request.addfinalizer(lambda: fn(*args)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 

+

48 def set_environ(self, name: str, value: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 """Set an environment variable `name` to be `value`.""" 

+

50 self._monkeypatch.setenv(name, value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52 def del_environ(self, name: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 """Delete an environment variable, unless we set it.""" 

+

54 self._monkeypatch.delenv(name, raising=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 

+

57class TempDirMixin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 """Provides temp dir and data file helpers for tests.""" 

+

59 

+

60 # Our own setting: most of these tests run in their own temp directory. 

+

61 # Set this to False in your subclass if you don't want a temp directory 

+

62 # created. 

+

63 run_in_temp_dir = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 @pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 def _temp_dir(self, tmp_path_factory: pytest.TempPathFactory) -> Iterator[None]: 

+

67 """Create a temp dir for the tests, if they want it.""" 

+

68 if self.run_in_temp_dir: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 tmpdir = tmp_path_factory.mktemp("t") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 self.temp_dir = str(tmpdir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 with change_dir(self.temp_dir): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 # Modules should be importable from this temp directory. We don't 

+

73 # use '' because we make lots of different temp directories and 

+

74 # nose's caching importer can get confused. The full path prevents 

+

75 # problems. 

+

76 sys.path.insert(0, os.getcwd()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 else: 

+

79 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 

+

81 def make_file( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

82 self, 

+

83 filename: str, 

+

84 text: str = "", 

+

85 bytes: bytes = b"", 

+

86 newline: Optional[str] = None, 

+

87 ) -> str: 

+

88 """Make a file. See `tests.helpers.make_file`""" 

+

89 # pylint: disable=redefined-builtin # bytes 

+

90 assert self.run_in_temp_dir, "Only use make_file when running in a temp dir" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 return make_file(filename, text, bytes, newline) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 

+

93 

+

94class RestoreModulesMixin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 """Auto-restore the imported modules at the end of each test.""" 

+

96 

+

97 @pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 def _module_saving(self) -> Iterable[None]: 

+

99 """Remove modules we imported during the test.""" 

+

100 self._sys_module_saver = SysModuleSaver() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 finally: 

+

104 self._sys_module_saver.restore() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 

+

106 def clean_local_file_imports(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 """Clean up the results of calls to `import_local_file`. 

+

108 

+

109 Use this if you need to `import_local_file` the same file twice in 

+

110 one test. 

+

111 

+

112 """ 

+

113 # So that we can re-import files, clean them out first. 

+

114 self._sys_module_saver.restore() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 

+

116 # Also have to clean out the .pyc files, since the time stamp 

+

117 # resolution is only one second, a changed file might not be 

+

118 # picked up. 

+

119 remove_tree("__pycache__") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 importlib.invalidate_caches() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 

+

122 

+

123class StdStreamCapturingMixin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 """ 

+

125 Adapter from the pytest capsys fixture to more convenient methods. 

+

126 

+

127 This doesn't also output to the real stdout, so we probably want to move 

+

128 to "real" capsys when we can use fixtures in test methods. 

+

129 

+

130 Once you've used one of these methods, the capturing is reset, so another 

+

131 invocation will only return the delta. 

+

132 

+

133 """ 

+

134 @pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 def _capcapsys(self, capsys: pytest.CaptureFixture[str]) -> None: 

+

136 """Grab the fixture so our methods can use it.""" 

+

137 self.capsys = capsys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 

+

139 def stdouterr(self) -> Tuple[str, str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 """Returns (out, err), two strings for stdout and stderr.""" 

+

141 return cast(Tuple[str, str], self.capsys.readouterr()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 

+

143 def stdout(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 """Returns a string, the captured stdout.""" 

+

145 return self.capsys.readouterr().out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 

+

147 def stderr(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 """Returns a string, the captured stderr.""" 

+

149 return self.capsys.readouterr().err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_osinfo_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_osinfo_py.html new file mode 100644 index 000000000..4defbc853 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_osinfo_py.html @@ -0,0 +1,173 @@ + + + + + Coverage for tests/osinfo.py: 100.000% + + + + + +
+
+

+ Coverage for tests/osinfo.py: + 100.000% +

+ +

+ 28 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""OS information for testing.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10 

+

11if sys.platform == "win32": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 # Windows implementation 

+

13 def process_ram() -> int: 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

14 """How much RAM is this process using? (Windows)""" 

+

15 import ctypes 3.7.windows-latest.c3.8.windows-latest.c3.9.windows-latest.c3.10.windows-latest.c3.11.windows-latest.c

+

16 # From: http://lists.ubuntu.com/archives/bazaar-commits/2009-February/011990.html 

+

17 class PROCESS_MEMORY_COUNTERS_EX(ctypes.Structure): 3.7.windows-latest.c3.8.windows-latest.c3.9.windows-latest.c3.10.windows-latest.c3.11.windows-latest.c

+

18 """Used by GetProcessMemoryInfo""" 

+

19 _fields_ = [ 3.8.windows-latest.c3.9.windows-latest.c3.10.windows-latest.c3.11.windows-latest.c

+

20 ('cb', ctypes.c_ulong), 

+

21 ('PageFaultCount', ctypes.c_ulong), 

+

22 ('PeakWorkingSetSize', ctypes.c_size_t), 

+

23 ('WorkingSetSize', ctypes.c_size_t), 

+

24 ('QuotaPeakPagedPoolUsage', ctypes.c_size_t), 

+

25 ('QuotaPagedPoolUsage', ctypes.c_size_t), 

+

26 ('QuotaPeakNonPagedPoolUsage', ctypes.c_size_t), 

+

27 ('QuotaNonPagedPoolUsage', ctypes.c_size_t), 

+

28 ('PagefileUsage', ctypes.c_size_t), 

+

29 ('PeakPagefileUsage', ctypes.c_size_t), 

+

30 ('PrivateUsage', ctypes.c_size_t), 

+

31 ] 

+

32 

+

33 mem_struct = PROCESS_MEMORY_COUNTERS_EX() 3.7.windows-latest.c3.8.windows-latest.c3.9.windows-latest.c3.10.windows-latest.c3.11.windows-latest.c

+

34 ret = ctypes.windll.psapi.GetProcessMemoryInfo( 3.7.windows-latest.c3.8.windows-latest.c3.9.windows-latest.c3.10.windows-latest.c3.11.windows-latest.c

+

35 ctypes.windll.kernel32.GetCurrentProcess(), 

+

36 ctypes.byref(mem_struct), 

+

37 ctypes.sizeof(mem_struct) 

+

38 ) 

+

39 if not ret: # pragma: part covered 3.7.windows-latest.c3.8.windows-latest.c3.9.windows-latest.c3.10.windows-latest.c3.11.windows-latest.c

+

40 return 0 # pragma: cant happen 3.8.windows-latest.c3.9.windows-latest.c3.10.windows-latest.c3.11.windows-latest.c

+

41 return mem_struct.PrivateUsage 3.7.windows-latest.c

+

42 

+

43elif sys.platform.startswith("linux"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 # Linux implementation 

+

45 import os 3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 

+

47 _scale = {'kb': 1024, 'mb': 1024*1024} 3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 def _VmB(key: str) -> int: 3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 """Read the /proc/PID/status file to find memory use.""" 

+

51 try: 3.7.ubuntu-latest.c3.8.ubuntu-latest.c3.9.ubuntu-latest.c3.10.ubuntu-latest.c3.11.ubuntu-latest.c

+

52 # Get pseudo file /proc/<pid>/status 

+

53 with open(f"/proc/{os.getpid()}/status") as t: 3.7.ubuntu-latest.c3.8.ubuntu-latest.c3.9.ubuntu-latest.c3.10.ubuntu-latest.c3.11.ubuntu-latest.c

+

54 v = t.read() 3.7.ubuntu-latest.c3.8.ubuntu-latest.c3.9.ubuntu-latest.c3.10.ubuntu-latest.c3.11.ubuntu-latest.c

+

55 except OSError: # pragma: cant happen 

+

56 return 0 # non-Linux? 

+

57 # Get VmKey line e.g. 'VmRSS: 9999 kB\n ...' 

+

58 i = v.index(key) 3.7.ubuntu-latest.c3.8.ubuntu-latest.c3.9.ubuntu-latest.c3.10.ubuntu-latest.c3.11.ubuntu-latest.c

+

59 vp = v[i:].split(None, 3) 3.7.ubuntu-latest.c3.8.ubuntu-latest.c3.9.ubuntu-latest.c3.10.ubuntu-latest.c3.11.ubuntu-latest.c

+

60 if len(vp) < 3: # pragma: part covered 3.7.ubuntu-latest.c3.8.ubuntu-latest.c3.9.ubuntu-latest.c3.10.ubuntu-latest.c3.11.ubuntu-latest.c

+

61 return 0 # pragma: cant happen 

+

62 # Convert Vm value to bytes. 

+

63 return int(float(vp[1]) * _scale[vp[2].lower()]) 3.7.ubuntu-latest.c3.8.ubuntu-latest.c3.9.ubuntu-latest.c3.10.ubuntu-latest.c3.11.ubuntu-latest.c

+

64 

+

65 def process_ram() -> int: 3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 """How much RAM is this process using? (Linux implementation)""" 

+

67 return _VmB('VmRSS') 3.7.ubuntu-latest.c3.8.ubuntu-latest.c3.9.ubuntu-latest.c3.10.ubuntu-latest.c3.11.ubuntu-latest.c

+

68 

+

69else: 

+

70 # Generic implementation. 

+

71 def process_ram() -> int: 3.7.macos-latest.c3.7.macos-latest.py3.8.macos-latest.c3.8.macos-latest.py3.9.macos-latest.c3.9.macos-latest.py3.10.macos-latest.c3.10.macos-latest.py3.11.macos-latest.c3.11.macos-latest.py

+

72 """How much RAM is this process using? (stdlib implementation)""" 

+

73 import resource 3.7.macos-latest.c3.8.macos-latest.c3.9.macos-latest.c3.10.macos-latest.c3.11.macos-latest.c

+

74 return resource.getrusage(resource.RUSAGE_SELF).ru_maxrss 3.7.macos-latest.c3.8.macos-latest.c3.9.macos-latest.c3.10.macos-latest.c3.11.macos-latest.c

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin1_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin1_py.html new file mode 100644 index 000000000..f62e55a68 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin1_py.html @@ -0,0 +1,160 @@ + + + + + Coverage for tests/plugin1.py: 67.742% + + + + + +
+
+

+ Coverage for tests/plugin1.py: + 67.742% +

+ +

+ 29 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""A file tracer plugin for test_plugins.py to import.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from types import FrameType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11from typing import Any, Optional, Set, Tuple, Union 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from coverage import CoveragePlugin, FileReporter, FileTracer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.plugin_support import Plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.types import TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17class Plugin(CoveragePlugin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 """A file tracer plugin to import, so that it isn't in the test's current directory.""" 

+

19 

+

20 def file_tracer(self, filename: str) -> Optional[FileTracer]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 """Trace only files named xyz.py""" 

+

22 if "xyz.py" in filename: 

+

23 return MyFileTracer(filename) 

+

24 return None 

+

25 

+

26 def file_reporter(self, filename: str) -> Union[FileReporter, str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 return MyFileReporter(filename) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

28 

+

29 

+

30class MyFileTracer(FileTracer): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 """A FileTracer emulating a simple static plugin.""" 

+

32 

+

33 def __init__(self, filename: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 """Claim that */*xyz.py was actually sourced from /src/*ABC.zz""" 

+

35 self._filename = filename 

+

36 self._source_filename = os.path.join( 

+

37 "/src", 

+

38 os.path.basename(filename.replace("xyz.py", "ABC.zz")) 

+

39 ) 

+

40 

+

41 def source_filename(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 return self._source_filename 

+

43 

+

44 def line_number_range(self, frame: FrameType) -> Tuple[TLineNo, TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 """Map the line number X to X05,X06,X07.""" 

+

46 lineno = frame.f_lineno 

+

47 return lineno*100+5, lineno*100+7 

+

48 

+

49 

+

50class MyFileReporter(FileReporter): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 """Dead-simple FileReporter.""" 

+

52 def lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 return {105, 106, 107, 205, 206, 207} 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

54 

+

55 

+

56def coverage_init( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 reg: Plugins, 

+

58 options: Any, # pylint: disable=unused-argument 

+

59) -> None: 

+

60 """Called by coverage to initialize the plugins here.""" 

+

61 reg.add_file_tracer(Plugin()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin2_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin2_py.html new file mode 100644 index 000000000..cb3a1008e --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin2_py.html @@ -0,0 +1,171 @@ + + + + + Coverage for tests/plugin2.py: 65.000% + + + + + +
+
+

+ Coverage for tests/plugin2.py: + 65.000% +

+ +

+ 36 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""A file tracer plugin for test_plugins.py to import.""" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

7 

+

8import os.path 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

9 

+

10from types import FrameType 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

11from typing import Any, Optional, Set, Tuple 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

12 

+

13from coverage import CoveragePlugin, FileReporter, FileTracer 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

14from coverage.plugin_support import Plugins 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

15from coverage.types import TLineNo 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

16 

+

17try: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

18 import third.render # pylint: disable=unused-import 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

19except ImportError: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

20 # This plugin is used in a few tests. One of them has the third.render 

+

21 # module, but most don't. We need to import it but not use it, so just 

+

22 # try importing it and it's OK if the module doesn't exist. 

+

23 pass 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

24 

+

25 

+

26class Plugin(CoveragePlugin): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

27 """A file tracer plugin for testing.""" 

+

28 def file_tracer(self, filename: str) -> Optional[FileTracer]: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

29 if "render.py" in filename: 

+

30 return RenderFileTracer() 

+

31 return None 

+

32 

+

33 def file_reporter(self, filename: str) -> FileReporter: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

34 return MyFileReporter(filename) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

35 

+

36 

+

37class RenderFileTracer(FileTracer): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

38 """A FileTracer using information from the caller.""" 

+

39 

+

40 def has_dynamic_source_filename(self) -> bool: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

41 return True 

+

42 

+

43 def dynamic_source_filename( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

44 self, 

+

45 filename: str, 

+

46 frame: FrameType, 

+

47 ) -> Optional[str]: 

+

48 if frame.f_code.co_name != "render": 

+

49 return None 

+

50 source_filename: str = os.path.abspath(frame.f_locals['filename']) 

+

51 return source_filename 

+

52 

+

53 def line_number_range(self, frame: FrameType) -> Tuple[TLineNo, TLineNo]: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

54 lineno = frame.f_locals['linenum'] 

+

55 return lineno, lineno+1 

+

56 

+

57 

+

58class MyFileReporter(FileReporter): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

59 """A goofy file reporter.""" 

+

60 def lines(self) -> Set[TLineNo]: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

61 # Goofy test arrangement: claim that the file has as many lines as the 

+

62 # number in its name. 

+

63 num = os.path.basename(self.filename).split(".")[0].split("_")[1] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

64 return set(range(1, int(num)+1)) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

65 

+

66 

+

67def coverage_init( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

68 reg: Plugins, 

+

69 options: Any, # pylint: disable=unused-argument 

+

70) -> None: 

+

71 """Called by coverage to initialize the plugins here.""" 

+

72 reg.add_file_tracer(Plugin()) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin_config_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin_config_py.html new file mode 100644 index 000000000..8b8d8e863 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_plugin_config_py.html @@ -0,0 +1,130 @@ + + + + + Coverage for tests/plugin_config.py: 100.000% + + + + + +
+
+

+ Coverage for tests/plugin_config.py: + 100.000% +

+ +

+ 15 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""A configuring plugin for test_plugins.py to import.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8from typing import Any, List, cast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11from coverage.plugin_support import Plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12from coverage.types import TConfigurable 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14 

+

15class Plugin(coverage.CoveragePlugin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 """A configuring plugin for testing.""" 

+

17 def configure(self, config: TConfigurable) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 """Configure all the things!""" 

+

19 opt_name = "report:exclude_lines" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 exclude_lines = cast(List[str], config.get_option(opt_name)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 exclude_lines.append(r"pragma: custom") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 exclude_lines.append(r"pragma: or whatever") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 config.set_option(opt_name, exclude_lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25 

+

26def coverage_init( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 reg: Plugins, 

+

28 options: Any, # pylint: disable=unused-argument 

+

29) -> None: 

+

30 """Called by coverage to initialize the plugins here.""" 

+

31 reg.add_configurer(Plugin()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_annotate_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_annotate_py.html new file mode 100644 index 000000000..b2e6d1272 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_annotate_py.html @@ -0,0 +1,233 @@ + + + + + Coverage for tests/test_annotate.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_annotate.py: + 100.000% +

+ +

+ 43 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for annotation from coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11from tests.goldtest import compare, gold_path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13 

+

14class AnnotationGoldTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 """Test the annotate feature with gold files.""" 

+

16 

+

17 def make_multi(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 """Make a few source files we need for the tests.""" 

+

19 self.make_file("multi.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 import a.a 

+

21 import b.b 

+

22 

+

23 a.a.a(1) 

+

24 b.b.b(2) 

+

25 """) 

+

26 self.make_file("a/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 self.make_file("a/a.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 def a(x): 

+

29 if x == 1: 

+

30 print("x is 1") 

+

31 else: 

+

32 print("x is not 1") 

+

33 """) 

+

34 self.make_file("b/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 self.make_file("b/b.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 def b(x): 

+

37 msg = f"x is {x}" 

+

38 print(msg) 

+

39 """) 

+

40 

+

41 def test_multi(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 self.make_multi() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 self.start_import_stop(cov, "multi") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 cov.annotate() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 

+

47 compare(gold_path("annotate/multi"), ".", "*,cover") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 def test_annotate_dir(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 self.make_multi() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 self.start_import_stop(cov, "multi") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 cov.annotate(directory="out_anno_dir") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 

+

55 compare(gold_path("annotate/anno_dir"), "out_anno_dir", "*,cover") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 

+

57 def test_encoding(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 self.make_file("utf8.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 # -*- coding: utf-8 -*- 

+

60 # This comment has an accent: é 

+

61 

+

62 print("spam eggs") 

+

63 """) 

+

64 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 self.start_import_stop(cov, "utf8") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 cov.annotate() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 compare(gold_path("annotate/encodings"), ".", "*,cover") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 

+

69 def test_white(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 self.make_file("white.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 # A test case sent to me by Steve White 

+

72 

+

73 def f(self): 

+

74 if self==1: 

+

75 pass 

+

76 elif self.m('fred'): 

+

77 pass 

+

78 elif (g==1) and (b==2): 

+

79 pass 

+

80 elif self.m('fred')==True: 

+

81 pass 

+

82 elif ((g==1) and (b==2))==True: 

+

83 pass 

+

84 else: 

+

85 pass 

+

86 

+

87 def g(x): 

+

88 if x == 1: 

+

89 a = 1 

+

90 else: 

+

91 a = 2 

+

92 

+

93 g(1) 

+

94 

+

95 def h(x): 

+

96 if 0: #pragma: no cover 

+

97 pass 

+

98 if x == 1: 

+

99 a = 1 

+

100 else: 

+

101 a = 2 

+

102 

+

103 h(2) 

+

104 """) 

+

105 

+

106 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 self.start_import_stop(cov, "white") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 cov.annotate() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 compare(gold_path("annotate/white"), ".", "*,cover") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 

+

111 def test_missing_after_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 self.make_file("mae.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 def f(x): 

+

114 if x == 1: 

+

115 print("1") 

+

116 else: 

+

117 print("2") 

+

118 

+

119 if f(1): 

+

120 print("nope") 

+

121 if f(2): 

+

122 print("nope") 

+

123 """) 

+

124 

+

125 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 self.start_import_stop(cov, "mae") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 cov.annotate() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 assert self.stdout() == ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 "1\n" + 

+

130 "2\n" + 

+

131 "The annotate command will be removed in a future version.\n" + 

+

132 "Get in touch if you still use it: ned@nedbatchelder.com\n" 

+

133 ) 

+

134 compare(gold_path("annotate/mae"), ".", "*,cover") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_api_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_api_py.html new file mode 100644 index 000000000..009c7bf12 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_api_py.html @@ -0,0 +1,1733 @@ + + + + + Coverage for tests/test_api.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_api.py: + 100.000% +

+ +

+ 881 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.py's API.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import fnmatch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import io 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import shutil 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from typing import cast, Callable, Dict, Iterable, List, Optional, Set 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage import Coverage, env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.data import line_counts, sorted_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.exceptions import CoverageException, DataError, NoDataError, NoSource 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.files import abs_file, relative_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.misc import import_local_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28from coverage.types import FilePathClasses, FilePathType, Protocol, TCovKwargs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 

+

30from tests.coveragetest import CoverageTest, TESTS_DIR, UsingModulesMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31from tests.goldtest import contains, doesnt_contain 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32from tests.helpers import arcz_to_arcs, assert_count_equal, assert_coverage_warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33from tests.helpers import change_dir, nice_file, os_sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35BAD_SQLITE_REGEX = r"file( is encrypted or)? is not a database" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37class ApiTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 """Api-oriented tests for coverage.py.""" 

+

39 

+

40 def clean_files(self, files: List[str], pats: List[str]) -> List[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 """Remove names matching `pats` from `files`, a list of file names.""" 

+

42 good = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 for f in files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 for pat in pats: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 if fnmatch.fnmatch(f, pat): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 break 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 else: 

+

48 good.append(f) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 return good 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 

+

51 def assertFiles(self, files: List[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 """Assert that the files here are `files`, ignoring the usual junk.""" 

+

53 here = os.listdir(".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 here = self.clean_files(here, ["*.pyc", "__pycache__", "*$py.class"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 assert_count_equal(here, files) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 

+

57 def test_unexecuted_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 

+

60 self.make_file("mycode.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 a = 1 

+

62 b = 2 

+

63 if b == 3: 

+

64 c = 4 

+

65 d = 5 

+

66 """) 

+

67 

+

68 self.make_file("not_run.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 fooey = 17 

+

70 """) 

+

71 

+

72 # Import the Python file, executing it. 

+

73 self.start_import_stop(cov, "mycode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 _, statements, missing, _ = cov.analysis("not_run.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 assert statements == [1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 assert missing == [1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 

+

79 def test_filenames(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 self.make_file("mymain.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 import mymod 

+

82 a = 1 

+

83 """) 

+

84 

+

85 self.make_file("mymod.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 fooey = 17 

+

87 """) 

+

88 

+

89 # Import the Python file, executing it. 

+

90 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 self.start_import_stop(cov, "mymain") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 

+

93 filename, _, _, _ = cov.analysis("mymain.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 assert os.path.basename(filename) == "mymain.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 filename, _, _, _ = cov.analysis("mymod.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 assert os.path.basename(filename) == "mymod.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 filename, _, _, _ = cov.analysis(sys.modules["mymain"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 assert os.path.basename(filename) == "mymain.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 filename, _, _, _ = cov.analysis(sys.modules["mymod"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 assert os.path.basename(filename) == "mymod.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 

+

103 # Import the Python file, executing it again, once it's been compiled 

+

104 # already. 

+

105 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 self.start_import_stop(cov, "mymain") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 

+

108 filename, _, _, _ = cov.analysis("mymain.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 assert os.path.basename(filename) == "mymain.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 filename, _, _, _ = cov.analysis("mymod.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 assert os.path.basename(filename) == "mymod.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 

+

113 filename, _, _, _ = cov.analysis(sys.modules["mymain"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 assert os.path.basename(filename) == "mymain.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 filename, _, _, _ = cov.analysis(sys.modules["mymod"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 assert os.path.basename(filename) == "mymod.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 

+

118 def test_ignore_stdlib(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 self.make_file("mymain.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 import colorsys 

+

121 a = 1 

+

122 hls = colorsys.rgb_to_hls(1.0, 0.5, 0.0) 

+

123 """) 

+

124 

+

125 # Measure without the stdlib. 

+

126 cov1 = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 assert cov1.config.cover_pylib is False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 self.start_import_stop(cov1, "mymain") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 

+

130 # some statements were marked executed in mymain.py 

+

131 _, statements, missing, _ = cov1.analysis("mymain.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 assert statements != missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 # but none were in colorsys.py 

+

134 _, statements, missing, _ = cov1.analysis("colorsys.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 assert statements == missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 

+

137 # Measure with the stdlib. 

+

138 cov2 = coverage.Coverage(cover_pylib=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 self.start_import_stop(cov2, "mymain") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 

+

141 # some statements were marked executed in mymain.py 

+

142 _, statements, missing, _ = cov2.analysis("mymain.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 assert statements != missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 # and some were marked executed in colorsys.py 

+

145 _, statements, missing, _ = cov2.analysis("colorsys.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 assert statements != missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148 def test_include_can_measure_stdlib(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 self.make_file("mymain.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 import colorsys, random 

+

151 a = 1 

+

152 r, g, b = [random.random() for _ in range(3)] 

+

153 hls = colorsys.rgb_to_hls(r, g, b) 

+

154 """) 

+

155 

+

156 # Measure without the stdlib, but include colorsys. 

+

157 cov1 = coverage.Coverage(cover_pylib=False, include=["*/colorsys.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 self.start_import_stop(cov1, "mymain") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 

+

160 # some statements were marked executed in colorsys.py 

+

161 _, statements, missing, _ = cov1.analysis("colorsys.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 assert statements != missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 # but none were in random.py 

+

164 _, statements, missing, _ = cov1.analysis("random.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 assert statements == missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 

+

167 def test_exclude_list(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 cov.clear_exclude() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 assert cov.get_exclude_list() == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 cov.exclude("foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 assert cov.get_exclude_list() == ["foo"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 cov.exclude("bar") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 assert cov.get_exclude_list() == ["foo", "bar"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 assert cov._exclude_regex('exclude') == "(?:foo)|(?:bar)" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 cov.clear_exclude() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 assert cov.get_exclude_list() == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 

+

179 def test_exclude_partial_list(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 cov.clear_exclude(which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 assert cov.get_exclude_list(which='partial') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 cov.exclude("foo", which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 assert cov.get_exclude_list(which='partial') == ["foo"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 cov.exclude("bar", which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 assert cov.get_exclude_list(which='partial') == ["foo", "bar"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 assert cov._exclude_regex(which='partial') == "(?:foo)|(?:bar)" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 cov.clear_exclude(which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 assert cov.get_exclude_list(which='partial') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 

+

191 def test_exclude_and_partial_are_separate_lists(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 cov.clear_exclude(which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 cov.clear_exclude(which='exclude') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 cov.exclude("foo", which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 assert cov.get_exclude_list(which='partial') == ['foo'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 assert cov.get_exclude_list(which='exclude') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 cov.exclude("bar", which='exclude') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 assert cov.get_exclude_list(which='partial') == ['foo'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 assert cov.get_exclude_list(which='exclude') == ['bar'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 cov.exclude("p2", which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 cov.exclude("e2", which='exclude') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 assert cov.get_exclude_list(which='partial') == ['foo', 'p2'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 assert cov.get_exclude_list(which='exclude') == ['bar', 'e2'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 cov.clear_exclude(which='partial') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 assert cov.get_exclude_list(which='partial') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 assert cov.get_exclude_list(which='exclude') == ['bar', 'e2'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 cov.clear_exclude(which='exclude') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 assert cov.get_exclude_list(which='partial') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 assert cov.get_exclude_list(which='exclude') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 

+

212 def test_datafile_default(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 # Default data file behavior: it's .coverage 

+

214 self.make_file("datatest1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 fooey = 17 

+

216 """) 

+

217 

+

218 self.assertFiles(["datatest1.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 self.start_import_stop(cov, "datatest1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 self.assertFiles(["datatest1.py", ".coverage"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 

+

224 @pytest.mark.parametrize("file_class", FilePathClasses) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 def test_datafile_specified(self, file_class: FilePathType) -> None: 

+

226 # You can specify the data file name. 

+

227 self.make_file("datatest2.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 fooey = 17 

+

229 """) 

+

230 

+

231 self.assertFiles(["datatest2.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 cov = coverage.Coverage(data_file=file_class("cov.data")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 self.start_import_stop(cov, "datatest2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 self.assertFiles(["datatest2.py", "cov.data"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 

+

237 @pytest.mark.parametrize("file_class", FilePathClasses) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 def test_datafile_and_suffix_specified(self, file_class: FilePathType) -> None: 

+

239 # You can specify the data file name and suffix. 

+

240 self.make_file("datatest3.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 fooey = 17 

+

242 """) 

+

243 

+

244 self.assertFiles(["datatest3.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 cov = coverage.Coverage(data_file=file_class("cov.data"), data_suffix="14") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 self.start_import_stop(cov, "datatest3") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 self.assertFiles(["datatest3.py", "cov.data.14"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 

+

250 def test_datafile_from_rcfile(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 # You can specify the data file name in the .coveragerc file 

+

252 self.make_file("datatest4.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 fooey = 17 

+

254 """) 

+

255 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 [run] 

+

257 data_file = mydata.dat 

+

258 """) 

+

259 

+

260 self.assertFiles(["datatest4.py", ".coveragerc"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 self.start_import_stop(cov, "datatest4") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 self.assertFiles(["datatest4.py", ".coveragerc", "mydata.dat"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 

+

266 def test_deep_datafile(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 self.make_file("datatest5.py", "fooey = 17") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 self.assertFiles(["datatest5.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 cov = coverage.Coverage(data_file="deep/sub/cov.data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 self.start_import_stop(cov, "datatest5") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 self.assertFiles(["datatest5.py", "deep"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 self.assert_exists("deep/sub/cov.data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 

+

275 def test_datafile_none(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 cov = coverage.Coverage(data_file=None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 

+

278 def f1() -> None: # pragma: nested 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 a = 1 # pylint: disable=unused-variable 

+

280 

+

281 one_line_number = f1.__code__.co_firstlineno + 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 lines = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 

+

284 def run_one_function(f: Callable[[], None]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 cov.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 f() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 

+

290 fs = cov.get_data().measured_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 lines.append(cov.get_data().lines(list(fs)[0])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 

+

293 run_one_function(f1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 run_one_function(f1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 run_one_function(f1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 assert lines == [[one_line_number]] * 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 assert os.listdir(".") == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 

+

300 def test_empty_reporting(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 # empty summary reports raise exception, just like the xml report 

+

302 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 cov.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 

+

307 def test_completely_zero_reporting(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 # https://github.com/nedbat/coveragepy/issues/884 

+

309 # If nothing was measured, the file-touching didn't happen properly. 

+

310 self.make_file("foo/bar.py", "print('Never run')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 self.make_file("test.py", "assert True") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 cov = coverage.Coverage(source=["foo"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 self.start_import_stop(cov, "test") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 assert_coverage_warnings(warns, "No data was collected. (no-data-collected)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 # Name Stmts Miss Cover 

+

318 # -------------------------------- 

+

319 # foo/bar.py 1 1 0% 

+

320 # -------------------------------- 

+

321 # TOTAL 1 1 0% 

+

322 

+

323 last = self.last_line_squeezed(self.stdout()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 assert "TOTAL 1 1 0%" == last 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 

+

326 def test_cov4_data_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 cov4_data = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 "!coverage.py: This is a private format, don't read it directly!" + 

+

329 '{"lines":{"/private/tmp/foo.py":[1,5,2,3]}}' 

+

330 ) 

+

331 self.make_file(".coverage", cov4_data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 with pytest.raises(DataError, match="Looks like a coverage 4.x data file"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 cov.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 

+

337 def make_code1_code2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

338 """Create the code1.py and code2.py files.""" 

+

339 self.make_file("code1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 code1 = 1 

+

341 """) 

+

342 self.make_file("code2.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 code2 = 1 

+

344 code2 = 2 

+

345 """) 

+

346 

+

347 def check_code1_code2(self, cov: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 """Check the analysis is correct for code1.py and code2.py.""" 

+

349 _, statements, missing, _ = cov.analysis("code1.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 assert statements == [1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 assert missing == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 _, statements, missing, _ = cov.analysis("code2.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 assert statements == [1, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 assert missing == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 

+

356 def test_start_stop_start_stop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 self.make_code1_code2() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 self.start_import_stop(cov, "code1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

360 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 self.start_import_stop(cov, "code2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 self.check_code1_code2(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 

+

364 def test_start_save_stop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 self.make_code1_code2() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

367 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

368 import_local_file("code1") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 cov.save() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

370 import_local_file("code2") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 self.check_code1_code2(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 

+

374 def test_start_save_nostop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 self.make_code1_code2() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 import_local_file("code1") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

379 cov.save() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

380 import_local_file("code2") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 self.check_code1_code2(cov) # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 # Then stop it, or the test suite gets out of whack. 

+

383 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 

+

385 def test_two_getdata_only_warn_once(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 self.make_code1_code2() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 cov = coverage.Coverage(source=["."], omit=["code1.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 import_local_file("code1") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 # We didn't collect any data, so we should get a warning. 

+

392 with self.assert_warnings(cov, ["No data was collected"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

394 # But calling get_data a second time with no intervening activity 

+

395 # won't make another warning. 

+

396 with self.assert_warnings(cov, []): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 

+

399 def test_two_getdata_warn_twice(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 self.make_code1_code2() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 cov = coverage.Coverage(source=["."], omit=["code1.py", "code2.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 import_local_file("code1") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

404 # We didn't collect any data, so we should get a warning. 

+

405 with self.assert_warnings(cov, ["No data was collected"]): # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

406 cov.save() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 import_local_file("code2") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 # Calling get_data a second time after tracing some more will warn again. 

+

409 with self.assert_warnings(cov, ["No data was collected"]): # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 cov.get_data() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 # Then stop it, or the test suite gets out of whack. 

+

412 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

413 

+

414 def make_good_data_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 """Make some good data files.""" 

+

416 self.make_code1_code2() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 cov = coverage.Coverage(data_suffix=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

418 self.start_import_stop(cov, "code1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

420 

+

421 cov = coverage.Coverage(data_suffix=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 self.start_import_stop(cov, "code2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

423 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 self.assert_file_count(".coverage.*", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 

+

426 def test_combining_corrupt_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 # If you combine a corrupt data file, then you will get a warning, 

+

428 # and the file will remain. 

+

429 self.make_good_data_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 self.make_file(".coverage.foo", """La la la, this isn't coverage data!""") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 warning_regex = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 r"Couldn't use data file '.*\.coverage\.foo': " + BAD_SQLITE_REGEX 

+

434 ) 

+

435 with self.assert_warnings(cov, [warning_regex]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

436 cov.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 

+

438 # We got the results from code1 and code2 properly. 

+

439 self.check_code1_code2(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 

+

441 # The bad file still exists, but it's the only parallel data file left. 

+

442 self.assert_exists(".coverage.foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 self.assert_file_count(".coverage.*", 1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444 

+

445 def test_combining_twice(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 self.make_good_data_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 cov1 = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 cov1.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 cov1.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 self.check_code1_code2(cov1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

452 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 

+

455 cov2 = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

456 with pytest.raises(NoDataError, match=r"No data to combine"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

457 cov2.combine(strict=True, keep=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 

+

459 cov3 = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 cov3.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

461 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

462 # Now the data is empty! 

+

463 _, statements, missing, _ = cov3.analysis("code1.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

464 assert statements == [1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

465 assert missing == [1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 _, statements, missing, _ = cov3.analysis("code2.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

467 assert statements == [1, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 assert missing == [1, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 

+

470 def test_combining_with_a_used_coverage(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 # Can you use a coverage object to run one shard of a parallel suite, 

+

472 # and then also combine the data? 

+

473 self.make_code1_code2() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 cov = coverage.Coverage(data_suffix=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 self.start_import_stop(cov, "code1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

476 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

477 

+

478 cov = coverage.Coverage(data_suffix=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 self.start_import_stop(cov, "code2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 

+

482 cov.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 self.check_code1_code2(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

485 

+

486 def test_ordered_combine(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

487 # https://github.com/nedbat/coveragepy/issues/649 

+

488 # The order of the [paths] setting used to matter. Now the 

+

489 # resulting path must exist, so the order doesn't matter. 

+

490 def make_files() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

491 self.make_file("plugins/p1.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 self.make_file("girder/g1.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

493 self.make_data_file( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

494 basename=".coverage.1", 

+

495 lines={ 

+

496 abs_file('ci/girder/g1.py'): range(10), 

+

497 abs_file('ci/girder/plugins/p1.py'): range(10), 

+

498 }, 

+

499 ) 

+

500 

+

501 def get_combined_filenames() -> Set[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 cov.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 filenames = {relative_filename(f).replace("\\", "/") for f in data.measured_files()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 return filenames 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

509 

+

510 # Case 1: get the order right. 

+

511 make_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

512 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 [paths] 

+

514 plugins = 

+

515 plugins/ 

+

516 ci/girder/plugins/ 

+

517 girder = 

+

518 girder/ 

+

519 ci/girder/ 

+

520 """) 

+

521 assert get_combined_filenames() == {'girder/g1.py', 'plugins/p1.py'} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 

+

523 # Case 2: get the order "wrong". 

+

524 make_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

525 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

526 [paths] 

+

527 girder = 

+

528 girder/ 

+

529 ci/girder/ 

+

530 plugins = 

+

531 plugins/ 

+

532 ci/girder/plugins/ 

+

533 """) 

+

534 assert get_combined_filenames() == {'girder/g1.py', 'plugins/p1.py'} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 

+

536 def test_warnings(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

537 self.make_file("hello.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 import sys, os 

+

539 print("Hello") 

+

540 """) 

+

541 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

542 cov = coverage.Coverage(source=["sys", "xyzzy", "quux"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

543 self.start_import_stop(cov, "hello") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

544 cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

545 

+

546 assert "Hello\n" == self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 assert_coverage_warnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

548 warns, 

+

549 "Module sys has no Python source. (module-not-python)", 

+

550 "Module xyzzy was never imported. (module-not-imported)", 

+

551 "Module quux was never imported. (module-not-imported)", 

+

552 "No data was collected. (no-data-collected)", 

+

553 ) 

+

554 

+

555 def test_warnings_suppressed(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

556 self.make_file("hello.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

557 import sys, os 

+

558 print("Hello") 

+

559 """) 

+

560 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

561 [run] 

+

562 disable_warnings = no-data-collected, module-not-imported 

+

563 """) 

+

564 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 cov = coverage.Coverage(source=["sys", "xyzzy", "quux"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 self.start_import_stop(cov, "hello") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

567 cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 

+

569 assert "Hello\n" == self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 assert_coverage_warnings(warns, "Module sys has no Python source. (module-not-python)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

571 # No "module-not-imported" in warns 

+

572 # No "no-data-collected" in warns 

+

573 

+

574 def test_warn_once(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

575 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

576 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

577 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

578 cov._warn("Warning, warning 1!", slug="bot", once=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 cov._warn("Warning, warning 2!", slug="bot", once=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

580 

+

581 assert_coverage_warnings(warns, "Warning, warning 1! (bot)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

582 # No "Warning, warning 2!" in warns 

+

583 

+

584 def test_source_and_include_dont_conflict(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

585 # A bad fix made this case fail: https://github.com/nedbat/coveragepy/issues/541 

+

586 self.make_file("a.py", "import b\na = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

587 self.make_file("b.py", "b = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

589 [run] 

+

590 source = . 

+

591 """) 

+

592 

+

593 # Just like: coverage run a.py 

+

594 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

595 self.start_import_stop(cov, "a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

596 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

597 

+

598 # Run the equivalent of: coverage report --include=b.py 

+

599 cov = coverage.Coverage(include=["b.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

600 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

601 # There should be no exception. At one point, report() threw: 

+

602 # CoverageException: --include and --source are mutually exclusive 

+

603 cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

604 expected = textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

605 Name Stmts Miss Cover 

+

606 --------------------------- 

+

607 b.py 1 0 100% 

+

608 --------------------------- 

+

609 TOTAL 1 0 100% 

+

610 """) 

+

611 assert expected == self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

612 

+

613 def make_test_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

614 """Create a simple file representing a method with two tests. 

+

615 

+

616 Returns absolute path to the file. 

+

617 """ 

+

618 self.make_file("testsuite.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

619 def timestwo(x): 

+

620 return x*2 

+

621 

+

622 def test_multiply_zero(): 

+

623 assert timestwo(0) == 0 

+

624 

+

625 def test_multiply_six(): 

+

626 assert timestwo(6) == 12 

+

627 """) 

+

628 

+

629 def test_switch_context_testrunner(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 # This test simulates a coverage-aware test runner, 

+

631 # measuring labeled coverage via public API 

+

632 self.make_test_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 

+

634 # Test runner starts 

+

635 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

636 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

637 

+

638 if "pragma: nested": 3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

639 # Imports the test suite 

+

640 suite = import_local_file("testsuite") 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

641 

+

642 # Measures test case 1 

+

643 cov.switch_context('multiply_zero') 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

644 suite.test_multiply_zero() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 

+

646 # Measures test case 2 

+

647 cov.switch_context('multiply_six') 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

648 suite.test_multiply_six() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 

+

650 # Runner finishes 

+

651 cov.save() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

652 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

653 

+

654 # Labeled data is collected 

+

655 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

656 assert ['', 'multiply_six', 'multiply_zero'] == sorted(data.measured_contexts()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 

+

658 filenames = self.get_measured_filenames(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

659 suite_filename = filenames['testsuite.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

660 

+

661 data.set_query_context("multiply_six") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

662 assert [2, 8] == sorted_lines(data, suite_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

663 data.set_query_context("multiply_zero") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

664 assert [2, 5] == sorted_lines(data, suite_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

665 

+

666 def test_switch_context_with_static(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

667 # This test simulates a coverage-aware test runner, 

+

668 # measuring labeled coverage via public API, 

+

669 # with static label prefix. 

+

670 self.make_test_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

671 

+

672 # Test runner starts 

+

673 cov = coverage.Coverage(context="mysuite") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

674 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 

+

676 if "pragma: nested": 3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

677 # Imports the test suite 

+

678 suite = import_local_file("testsuite") 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 

+

680 # Measures test case 1 

+

681 cov.switch_context('multiply_zero') 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

682 suite.test_multiply_zero() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

683 

+

684 # Measures test case 2 

+

685 cov.switch_context('multiply_six') 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

686 suite.test_multiply_six() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

687 

+

688 # Runner finishes 

+

689 cov.save() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

690 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

691 

+

692 # Labeled data is collected 

+

693 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

694 expected = ['mysuite', 'mysuite|multiply_six', 'mysuite|multiply_zero'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

695 assert expected == sorted(data.measured_contexts()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

696 

+

697 filenames = self.get_measured_filenames(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 suite_filename = filenames['testsuite.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

699 

+

700 data.set_query_context("mysuite|multiply_six") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

701 assert [2, 8] == sorted_lines(data, suite_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

702 data.set_query_context("mysuite|multiply_zero") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

703 assert [2, 5] == sorted_lines(data, suite_filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

704 

+

705 def test_dynamic_context_conflict(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

706 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

707 cov.set_option("run:dynamic_context", "test_function") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

708 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

709 with pytest.warns(Warning) as warns: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 # Switch twice, but only get one warning. 

+

711 cov.switch_context("test1") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

712 cov.switch_context("test2") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

713 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

714 assert_coverage_warnings(warns, "Conflicting dynamic contexts (dynamic-conflict)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

715 

+

716 def test_unknown_dynamic_context(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

717 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

718 cov.set_option("run:dynamic_context", "no-idea") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

719 with pytest.raises(Exception, match="Don't understand dynamic_context setting: 'no-idea'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

720 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

721 

+

722 def test_switch_context_unstarted(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

723 # Coverage must be started to switch context 

+

724 msg = "Cannot switch context, coverage is not started" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

725 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

726 with pytest.raises(CoverageException, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

727 cov.switch_context("test1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

728 

+

729 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

730 cov.switch_context("test2") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

731 

+

732 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

733 with pytest.raises(CoverageException, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

734 cov.switch_context("test3") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

735 

+

736 def test_config_crash(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

737 # The internal '[run] _crash' setting can be used to artificially raise 

+

738 # exceptions from inside Coverage. 

+

739 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

740 cov.set_option("run:_crash", "test_config_crash") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

741 with pytest.raises(Exception, match="Crashing because called by test_config_crash"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

742 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

743 

+

744 def test_config_crash_no_crash(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

745 # '[run] _crash' really checks the call stack. 

+

746 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

747 cov.set_option("run:_crash", "not_my_caller") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

748 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

749 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

750 

+

751 def test_run_debug_sys(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

752 # https://github.com/nedbat/coveragepy/issues/907 

+

753 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

754 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

755 d = dict(cov.sys_info()) # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

756 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 assert cast(str, d['data_file']).endswith(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

758 

+

759 

+

760class CurrentInstanceTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

761 """Tests of Coverage.current().""" 

+

762 

+

763 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

764 

+

765 def assert_current_is_none(self, current: Optional[Coverage]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

766 """Assert that a current we expect to be None is correct.""" 

+

767 # During meta-coverage, the None answers will be wrong because the 

+

768 # overall coverage measurement will still be on the current-stack. 

+

769 # Since we know they will be wrong, and we have non-meta test runs 

+

770 # also, don't assert them. 

+

771 if not env.METACOV: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

772 assert current is None 

+

773 

+

774 def test_current(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

775 cur0 = coverage.Coverage.current() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

776 self.assert_current_is_none(cur0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

777 # Making an instance doesn't make it current. 

+

778 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

779 cur1 = coverage.Coverage.current() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

780 self.assert_current_is_none(cur1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

781 assert cur0 is cur1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

782 # Starting the instance makes it current. 

+

783 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

784 if "# pragma: nested": 3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

785 cur2 = coverage.Coverage.current() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

786 assert cur2 is cov 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

787 # Stopping the instance makes current None again. 

+

788 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

789 

+

790 cur3 = coverage.Coverage.current() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

791 self.assert_current_is_none(cur3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

792 assert cur0 is cur3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

793 

+

794 

+

795class NamespaceModuleTest(UsingModulesMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

796 """Test PEP-420 namespace modules.""" 

+

797 

+

798 def test_explicit_namespace_module(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

799 self.make_file("main.py", "import namespace_420\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

800 

+

801 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

802 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

803 

+

804 with pytest.raises(CoverageException, match=r"Module .* has no file"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

805 cov.analysis(sys.modules['namespace_420']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

806 

+

807 def test_bug_572(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

808 self.make_file("main.py", "import namespace_420\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

809 

+

810 # Use source=namespace_420 to trigger the check that used to fail, 

+

811 # and use source=main so that something is measured. 

+

812 cov = coverage.Coverage(source=["namespace_420", "main"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

813 with self.assert_warnings(cov, []): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

814 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

815 cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

816 

+

817 

+

818class CoverageUsePkgs(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

819 """A number of test classes have the same helper method.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

820 def coverage_usepkgs( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

821 self, # pylint: disable=unused-argument 

+

822 **kwargs: TCovKwargs, 

+

823 ) -> Iterable[str]: 

+

824 """Run coverage on usepkgs, return a line summary. kwargs are for Coverage(**kwargs).""" 

+

825 return "" 

+

826 

+

827 

+

828class IncludeOmitTestsMixin(CoverageUsePkgs, UsingModulesMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

829 """Test methods for coverage methods taking include and omit.""" 

+

830 

+

831 def filenames_in(self, summary: Iterable[str], filenames: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

832 """Assert the `filenames` are in the `summary`.""" 

+

833 for filename in filenames.split(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

834 assert filename in summary 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

835 

+

836 def filenames_not_in(self, summary: Iterable[str], filenames: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

837 """Assert the `filenames` are not in the `summary`.""" 

+

838 for filename in filenames.split(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

839 assert filename not in summary 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

840 

+

841 def test_nothing_specified(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

842 result = self.coverage_usepkgs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

843 self.filenames_in(result, "p1a p1b p2a p2b othera otherb osa osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

844 self.filenames_not_in(result, "p1c") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

845 # Because there was no source= specified, we don't search for 

+

846 # un-executed files. 

+

847 

+

848 def test_include(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

849 result = self.coverage_usepkgs(include=["*/p1a.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

850 self.filenames_in(result, "p1a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

851 self.filenames_not_in(result, "p1b p1c p2a p2b othera otherb osa osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

852 

+

853 def test_include_2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

854 result = self.coverage_usepkgs(include=["*a.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

855 self.filenames_in(result, "p1a p2a othera osa") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

856 self.filenames_not_in(result, "p1b p1c p2b otherb osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

857 

+

858 def test_include_as_string(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

859 result = self.coverage_usepkgs(include="*a.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

860 self.filenames_in(result, "p1a p2a othera osa") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

861 self.filenames_not_in(result, "p1b p1c p2b otherb osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

862 

+

863 def test_omit(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

864 result = self.coverage_usepkgs(omit=["*/p1a.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

865 self.filenames_in(result, "p1b p2a p2b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

866 self.filenames_not_in(result, "p1a p1c") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

867 

+

868 def test_omit_2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

869 result = self.coverage_usepkgs(omit=["*a.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

870 self.filenames_in(result, "p1b p2b otherb osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

871 self.filenames_not_in(result, "p1a p1c p2a othera osa") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

872 

+

873 def test_omit_as_string(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

874 result = self.coverage_usepkgs(omit="*a.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

875 self.filenames_in(result, "p1b p2b otherb osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

876 self.filenames_not_in(result, "p1a p1c p2a othera osa") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

877 

+

878 def test_omit_and_include(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

879 result = self.coverage_usepkgs(include=["*/p1*"], omit=["*/p1a.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

880 self.filenames_in(result, "p1b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

881 self.filenames_not_in(result, "p1a p1c p2a p2b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

882 

+

883 

+

884class SourceIncludeOmitTest(IncludeOmitTestsMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

885 """Test using `source`, `include`, and `omit` when measuring code.""" 

+

886 

+

887 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

888 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

889 

+

890 # These tests use the TESTS_DIR/modules files, but they cd into it. To 

+

891 # keep tests from cross-contaminating, we make a copy of the files. 

+

892 # Since we need to import from there, we also add it to the beginning 

+

893 # of sys.path. 

+

894 

+

895 shutil.copytree( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

896 nice_file(TESTS_DIR, "modules"), 

+

897 "tests_dir_modules", 

+

898 ignore=shutil.ignore_patterns("__pycache__"), 

+

899 ) 

+

900 sys.path.insert(0, abs_file("tests_dir_modules")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

901 

+

902 def coverage_usepkgs_counts(self, **kwargs: TCovKwargs) -> Dict[str, int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

903 """Run coverage on usepkgs and return a line summary. 

+

904 

+

905 Arguments are passed to the `coverage.Coverage` constructor. 

+

906 

+

907 """ 

+

908 cov = coverage.Coverage(**kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

909 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

910 import usepkgs # pragma: nested # pylint: disable=import-error, unused-import 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

911 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

912 with self.assert_warnings(cov, []): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

913 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

914 summary = line_counts(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

915 for k, v in list(summary.items()): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

916 assert k.endswith(".py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

917 summary[k[:-3]] = v 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

918 return summary 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

919 

+

920 def coverage_usepkgs(self, **kwargs: TCovKwargs) -> Iterable[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

921 summary = self.coverage_usepkgs_counts(**kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

922 return list(summary) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

923 

+

924 def test_source_include_exclusive(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

925 cov = coverage.Coverage(source=["pkg1"], include=["pkg2"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

926 with self.assert_warnings(cov, ["--include is ignored because --source is set"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

927 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

928 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

929 

+

930 def test_source_package_as_package(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

931 assert not os.path.isdir("pkg1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

932 lines = self.coverage_usepkgs_counts(source=["pkg1"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

933 self.filenames_in(list(lines), "p1a p1b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

934 self.filenames_not_in(list(lines), "p2a p2b othera otherb osa osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

935 # Because source= was specified, we do search for un-executed files. 

+

936 assert lines['p1c'] == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

937 

+

938 def test_source_package_as_dir(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

939 os.chdir("tests_dir_modules") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

940 assert os.path.isdir("pkg1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

941 lines = self.coverage_usepkgs_counts(source=["pkg1"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

942 self.filenames_in(list(lines), "p1a p1b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

943 self.filenames_not_in(list(lines), "p2a p2b othera otherb osa osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

944 # Because source= was specified, we do search for un-executed files. 

+

945 assert lines['p1c'] == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

946 

+

947 def test_source_package_dotted_sub(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

948 lines = self.coverage_usepkgs_counts(source=["pkg1.sub"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

949 self.filenames_not_in(list(lines), "p2a p2b othera otherb osa osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

950 # Because source= was specified, we do search for un-executed files. 

+

951 assert lines['runmod3'] == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

952 

+

953 def test_source_package_dotted_p1b(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

954 lines = self.coverage_usepkgs_counts(source=["pkg1.p1b"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

955 self.filenames_in(list(lines), "p1b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

956 self.filenames_not_in(list(lines), "p1a p1c p2a p2b othera otherb osa osb") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

957 

+

958 def test_source_package_part_omitted(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

959 # https://github.com/nedbat/coveragepy/issues/218 

+

960 # Used to be if you omitted something executed and inside the source, 

+

961 # then after it was executed but not recorded, it would be found in 

+

962 # the search for un-executed files, and given a score of 0%. 

+

963 

+

964 # The omit arg is by path, so need to be in the modules directory. 

+

965 os.chdir("tests_dir_modules") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

966 lines = self.coverage_usepkgs_counts(source=["pkg1"], omit=["pkg1/p1b.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

967 self.filenames_in(list(lines), "p1a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

968 self.filenames_not_in(list(lines), "p1b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

969 assert lines['p1c'] == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

970 

+

971 def test_source_package_as_package_part_omitted(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

972 # https://github.com/nedbat/coveragepy/issues/638 

+

973 lines = self.coverage_usepkgs_counts(source=["pkg1"], omit=["*/p1b.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

974 self.filenames_in(list(lines), "p1a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

975 self.filenames_not_in(list(lines), "p1b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

976 assert lines['p1c'] == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

977 

+

978 def test_ambiguous_source_package_as_dir(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

979 # pkg1 is a directory and a pkg, since we cd into tests_dir_modules/ambiguous 

+

980 os.chdir("tests_dir_modules/ambiguous") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

981 # pkg1 defaults to directory because tests_dir_modules/ambiguous/pkg1 exists 

+

982 lines = self.coverage_usepkgs_counts(source=["pkg1"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

983 self.filenames_in(list(lines), "ambiguous") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

984 self.filenames_not_in(list(lines), "p1a p1b p1c") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

985 

+

986 def test_ambiguous_source_package_as_package(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

987 # pkg1 is a directory and a pkg, since we cd into tests_dir_modules/ambiguous 

+

988 os.chdir("tests_dir_modules/ambiguous") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

989 lines = self.coverage_usepkgs_counts(source_pkgs=["pkg1"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

990 self.filenames_in(list(lines), "p1a p1b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

991 self.filenames_not_in(list(lines), "p2a p2b othera otherb osa osb ambiguous") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

992 # Because source= was specified, we do search for un-executed files. 

+

993 assert lines['p1c'] == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

994 

+

995 

+

996class ReportIncludeOmitTest(IncludeOmitTestsMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

997 """Tests of the report include/omit functionality.""" 

+

998 

+

999 def coverage_usepkgs(self, **kwargs: TCovKwargs) -> Iterable[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1000 """Try coverage.report().""" 

+

1001 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1002 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1003 import usepkgs # pragma: nested # pylint: disable=import-error, unused-import 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1004 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1005 report = io.StringIO() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1006 cov.report(file=report, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1007 return report.getvalue() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1008 

+

1009 

+

1010class XmlIncludeOmitTest(IncludeOmitTestsMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1011 """Tests of the XML include/omit functionality. 

+

1012 

+

1013 This also takes care of the HTML and annotate include/omit, by virtue 

+

1014 of the structure of the code. 

+

1015 

+

1016 """ 

+

1017 

+

1018 def coverage_usepkgs(self, **kwargs: TCovKwargs) -> Iterable[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1019 """Try coverage.xml_report().""" 

+

1020 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1021 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1022 import usepkgs # pragma: nested # pylint: disable=import-error, unused-import 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1023 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1024 cov.xml_report(outfile="-", **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1025 return self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1026 

+

1027 

+

1028class AnalysisTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1029 """Test the numerical analysis of results.""" 

+

1030 def test_many_missing_branches(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1031 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1032 

+

1033 self.make_file("missing.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1034 def fun1(x): 

+

1035 if x == 1: 

+

1036 print("one") 

+

1037 else: 

+

1038 print("not one") 

+

1039 print("done") # pragma: nocover 

+

1040 

+

1041 def fun2(x): 

+

1042 print("x") 

+

1043 

+

1044 fun2(3) 

+

1045 """) 

+

1046 

+

1047 # Import the Python file, executing it. 

+

1048 self.start_import_stop(cov, "missing") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1049 

+

1050 nums = cov._analyze("missing.py").numbers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1051 assert nums.n_files == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1052 assert nums.n_statements == 7 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1053 assert nums.n_excluded == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1054 assert nums.n_missing == 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1055 assert nums.n_branches == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1056 assert nums.n_partial_branches == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1057 assert nums.n_missing_branches == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1058 

+

1059 

+

1060class TestRunnerPluginTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1061 """Test that the API works properly the way various third-party plugins call it. 

+

1062 

+

1063 We don't actually use the plugins, but these tests call the API the same 

+

1064 way they do. 

+

1065 

+

1066 """ 

+

1067 def pretend_to_be_nose_with_cover(self, erase: bool = False, cd: bool = False) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1068 """This is what the nose --with-cover plugin does.""" 

+

1069 self.make_file("no_biggie.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1070 a = 1 

+

1071 b = 2 

+

1072 if b == 1: 

+

1073 c = 4 

+

1074 """) 

+

1075 self.make_file("sub/hold.txt", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1076 

+

1077 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1078 if erase: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1079 cov.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1080 cov.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1081 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1082 self.start_import_stop(cov, "no_biggie") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1083 if cd: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1084 os.chdir("sub") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1085 cov.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1086 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1087 cov.report(["no_biggie.py"], show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1088 assert self.stdout() == textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1089 Name Stmts Miss Cover Missing 

+

1090 -------------------------------------------- 

+

1091 no_biggie.py 4 1 75% 4 

+

1092 -------------------------------------------- 

+

1093 TOTAL 4 1 75% 

+

1094 """) 

+

1095 if cd: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1096 os.chdir("..") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1097 

+

1098 def test_nose_plugin(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1099 self.pretend_to_be_nose_with_cover() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1100 

+

1101 def test_nose_plugin_with_erase(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1102 self.pretend_to_be_nose_with_cover(erase=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1103 

+

1104 def test_nose_plugin_with_cd(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1105 # https://github.com/nedbat/coveragepy/issues/916 

+

1106 self.pretend_to_be_nose_with_cover(cd=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1107 

+

1108 def pretend_to_be_pytestcov(self, append: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1109 """Act like pytest-cov.""" 

+

1110 self.make_file("prog.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1111 a = 1 

+

1112 b = 2 

+

1113 if b == 1: 

+

1114 c = 4 

+

1115 """) 

+

1116 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1117 [run] 

+

1118 parallel = True 

+

1119 source = . 

+

1120 """) 

+

1121 

+

1122 cov = coverage.Coverage(source=None, branch=None, config_file='.coveragerc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1123 if append: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1124 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1125 else: 

+

1126 cov.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1127 self.start_import_stop(cov, "prog") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1128 cov.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1129 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1130 report = io.StringIO() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1131 cov.report(show_missing=None, ignore_errors=True, file=report, skip_covered=None, 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1132 skip_empty=None) 

+

1133 assert report.getvalue() == textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1134 Name Stmts Miss Cover 

+

1135 ----------------------------- 

+

1136 prog.py 4 1 75% 

+

1137 ----------------------------- 

+

1138 TOTAL 4 1 75% 

+

1139 """) 

+

1140 self.assert_file_count(".coverage", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1141 self.assert_file_count(".coverage.*", 1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1142 

+

1143 def test_pytestcov_parallel(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1144 self.pretend_to_be_pytestcov(append=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1145 

+

1146 def test_pytestcov_parallel_append(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1147 self.pretend_to_be_pytestcov(append=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1148 

+

1149 

+

1150class ImmutableConfigTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1151 """Check that reporting methods don't permanently change the configuration.""" 

+

1152 

+

1153 def test_config_doesnt_change(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1154 self.make_file("simple.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1155 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1156 self.start_import_stop(cov, "simple") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1157 assert cov.get_option("report:show_missing") is False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1158 cov.report(show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1159 assert cov.get_option("report:show_missing") is False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1160 

+

1161 

+

1162class RelativePathTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1163 """Tests of the relative_files setting.""" 

+

1164 

+

1165 def test_moving_stuff(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1166 # When using absolute file names, moving the source around results in 

+

1167 # "No source for code" errors while reporting. 

+

1168 self.make_file("foo.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1169 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1170 self.start_import_stop(cov, "foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1171 res = cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1172 assert res == 100 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1173 

+

1174 expected = re.escape("No source for code: '{}'.".format(abs_file("foo.py"))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1175 os.remove("foo.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1176 self.make_file("new/foo.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1177 shutil.move(".coverage", "new/.coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1178 with change_dir("new"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1179 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1180 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1181 with pytest.raises(NoSource, match=expected): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1182 cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1183 

+

1184 def test_moving_stuff_with_relative(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1185 # When using relative file names, moving the source around is fine. 

+

1186 self.make_file("foo.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1187 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1188 [run] 

+

1189 relative_files = true 

+

1190 """) 

+

1191 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1192 self.start_import_stop(cov, "foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1193 res = cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1194 assert res == 100 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1195 

+

1196 os.remove("foo.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1197 self.make_file("new/foo.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1198 shutil.move(".coverage", "new/.coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1199 shutil.move(".coveragerc", "new/.coveragerc") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1200 with change_dir("new"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1201 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1202 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1203 res = cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1204 assert res == 100 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1205 

+

1206 def test_combine_relative(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1207 self.make_file("foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1208 import mod 

+

1209 a = 1 

+

1210 """) 

+

1211 self.make_file("lib/mod/__init__.py", "x = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1212 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1213 [run] 

+

1214 relative_files = true 

+

1215 """) 

+

1216 sys.path.append("lib") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1217 cov = coverage.Coverage(source=["."], data_suffix=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1218 self.start_import_stop(cov, "foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1219 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1220 

+

1221 self.make_file("dir2/bar.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1222 self.make_file("dir2/.coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1223 [run] 

+

1224 relative_files = true 

+

1225 """) 

+

1226 with change_dir("dir2"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1227 cov = coverage.Coverage(source=["."], data_suffix=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1228 self.start_import_stop(cov, "bar") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1229 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1230 shutil.move(glob.glob(".coverage.*")[0], "..") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1231 

+

1232 self.make_file("foo.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1233 self.make_file("bar.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1234 self.make_file("modsrc/__init__.py", "x = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1235 

+

1236 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1237 [run] 

+

1238 relative_files = true 

+

1239 [paths] 

+

1240 source = 

+

1241 modsrc 

+

1242 */mod 

+

1243 """) 

+

1244 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1245 cov.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1246 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1247 

+

1248 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1249 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1250 files = cov.get_data().measured_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1251 assert files == {'foo.py', 'bar.py', os_sep('modsrc/__init__.py')} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1252 res = cov.report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1253 assert res == 100 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1254 

+

1255 def test_combine_no_suffix_multiprocessing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1256 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1257 [run] 

+

1258 branch = True 

+

1259 """) 

+

1260 cov = coverage.Coverage( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1261 config_file=".coveragerc", 

+

1262 concurrency="multiprocessing", 

+

1263 data_suffix=False, 

+

1264 ) 

+

1265 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1266 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1267 # The warning isn't the point of this test, but suppress it. 

+

1268 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1269 cov.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1270 assert_coverage_warnings(warns, "No data was collected. (no-data-collected)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1271 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1272 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1273 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1274 

+

1275 def test_files_up_one_level(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1276 # https://github.com/nedbat/coveragepy/issues/1280 

+

1277 self.make_file("src/mycode.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1278 def foo(): 

+

1279 return 17 

+

1280 """) 

+

1281 self.make_file("test/test_it.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1282 from src.mycode import foo 

+

1283 assert foo() == 17 

+

1284 """) 

+

1285 self.make_file("test/.coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1286 [run] 

+

1287 parallel = True 

+

1288 relative_files = True 

+

1289 

+

1290 [paths] 

+

1291 source = 

+

1292 ../src/ 

+

1293 */src 

+

1294 """) 

+

1295 os.chdir("test") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1296 sys.path.insert(0, "..") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1297 cov1 = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1298 self.start_import_stop(cov1, "test_it") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1299 cov1.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1300 cov2 = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1301 cov2.combine() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1302 cov3 = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1303 cov3.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1304 report = self.get_report(cov3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1305 assert self.last_line_squeezed(report) == "TOTAL 4 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1306 

+

1307 

+

1308class CombiningTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1309 """More tests of combining data.""" 

+

1310 

+

1311 B_LINES = {"b_or_c.py": [1, 2, 3, 4, 8, 9]} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1312 C_LINES = {"b_or_c.py": [1, 2, 3, 6, 7, 8, 9]} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1313 

+

1314 def make_b_or_c_py(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1315 """Create b_or_c.py, used in a few of these tests.""" 

+

1316 # "b_or_c.py b" will run 6 lines. 

+

1317 # "b_or_c.py c" will run 7 lines. 

+

1318 # Together, they run 8 lines. 

+

1319 self.make_file("b_or_c.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1320 import sys 

+

1321 a = 2 

+

1322 if sys.argv[1] == 'b': 

+

1323 b = 4 

+

1324 else: 

+

1325 c = 6 

+

1326 c2 = 7 

+

1327 d = 8 

+

1328 print('done') 

+

1329 """) 

+

1330 

+

1331 def test_combine_parallel_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1332 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1333 self.make_data_file(".coverage.b", lines=self.B_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1334 self.make_data_file(".coverage.c", lines=self.C_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1335 

+

1336 # Combine the parallel coverage data files into .coverage . 

+

1337 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1338 cov.combine(strict=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1339 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1340 

+

1341 # After combining, there should be only the .coverage file. 

+

1342 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1343 

+

1344 # Read the coverage file and see that b_or_c.py has all 8 lines 

+

1345 # executed. 

+

1346 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1347 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1348 assert line_counts(data)['b_or_c.py'] == 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1349 

+

1350 # Running combine again should fail, because there are no parallel data 

+

1351 # files to combine. 

+

1352 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1353 with pytest.raises(NoDataError, match=r"No data to combine"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1354 cov.combine(strict=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1355 

+

1356 # And the originally combined data is still there. 

+

1357 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1358 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1359 assert line_counts(data)['b_or_c.py'] == 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1360 

+

1361 def test_combine_parallel_data_with_a_corrupt_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1362 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1363 self.make_data_file(".coverage.b", lines=self.B_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1364 self.make_data_file(".coverage.c", lines=self.C_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1365 

+

1366 # Make a bogus data file. 

+

1367 self.make_file(".coverage.bad", "This isn't a coverage data file.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1368 

+

1369 # Combine the parallel coverage data files into .coverage . 

+

1370 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1371 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1372 cov.combine(strict=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1373 assert_coverage_warnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1374 warns, 

+

1375 re.compile( 

+

1376 r"Couldn't use data file '.*[/\\]\.coverage\.bad': " + BAD_SQLITE_REGEX 

+

1377 ), 

+

1378 ) 

+

1379 

+

1380 # After combining, those two should be the only data files. 

+

1381 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1382 self.assert_exists(".coverage.bad") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1383 self.assert_file_count(".coverage.*", 1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1384 

+

1385 # Read the coverage file and see that b_or_c.py has all 8 lines 

+

1386 # executed. 

+

1387 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1388 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1389 assert line_counts(data)['b_or_c.py'] == 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1390 

+

1391 def test_combine_no_usable_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1392 # https://github.com/nedbat/coveragepy/issues/629 

+

1393 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1394 self.make_data_file(".coverage", lines=self.B_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1395 

+

1396 # Make bogus data files. 

+

1397 self.make_file(".coverage.bad1", "This isn't a coverage data file.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1398 self.make_file(".coverage.bad2", "This isn't a coverage data file either.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1399 

+

1400 # Combine the parallel coverage data files into .coverage, but nothing is readable. 

+

1401 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1402 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1403 with pytest.raises(NoDataError, match=r"No usable data files"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1404 cov.combine(strict=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1405 

+

1406 warn_rx = re.compile( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1407 r"Couldn't use data file '.*[/\\]\.coverage\.bad[12]': " + BAD_SQLITE_REGEX 

+

1408 ) 

+

1409 assert_coverage_warnings(warns, warn_rx, warn_rx) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1410 

+

1411 # After combining, we should have a main file and two parallel files. 

+

1412 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1413 self.assert_exists(".coverage.bad1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1414 self.assert_exists(".coverage.bad2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1415 self.assert_file_count(".coverage.*", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1416 

+

1417 # Read the coverage file and see that b_or_c.py has 6 lines 

+

1418 # executed (we only did b, not c). 

+

1419 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1420 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1421 assert line_counts(data)['b_or_c.py'] == 6 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1422 

+

1423 def test_combine_parallel_data_in_two_steps(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1424 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1425 self.make_data_file(".coverage.b", lines=self.B_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1426 

+

1427 # Combine the (one) parallel coverage data file into .coverage . 

+

1428 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1429 cov.combine(strict=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1430 

+

1431 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1432 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1433 

+

1434 self.make_data_file(".coverage.c", lines=self.C_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1435 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1436 self.assert_file_count(".coverage.*", 1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1437 

+

1438 # Combine the parallel coverage data files into .coverage . 

+

1439 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1440 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1441 cov.combine(strict=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1442 

+

1443 # After combining, there should be only the .coverage file. 

+

1444 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1445 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1446 

+

1447 # Read the coverage file and see that b_or_c.py has all 8 lines 

+

1448 # executed. 

+

1449 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1450 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1451 assert line_counts(data)['b_or_c.py'] == 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1452 

+

1453 def test_combine_parallel_data_no_append(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1454 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1455 self.make_data_file(".coverage.b", lines=self.B_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1456 

+

1457 # Combine the (one) parallel coverage data file into .coverage . 

+

1458 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1459 cov.combine(strict=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1460 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1461 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1462 

+

1463 self.make_data_file(".coverage.c", lines=self.C_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1464 

+

1465 # Combine the parallel coverage data files into .coverage, but don't 

+

1466 # use the data in .coverage already. 

+

1467 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1468 cov.combine(strict=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1469 

+

1470 # After combining, there should be only the .coverage file. 

+

1471 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1472 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1473 

+

1474 # Read the coverage file and see that b_or_c.py has only 7 lines 

+

1475 # because we didn't keep the data from running b. 

+

1476 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1477 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1478 assert line_counts(data)['b_or_c.py'] == 7 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1479 

+

1480 def test_combine_parallel_data_keep(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1481 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1482 self.make_data_file(".coverage.b", lines=self.B_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1483 self.make_data_file(".coverage.c", lines=self.C_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1484 

+

1485 # Combine the parallel coverage data files into .coverage with the keep flag. 

+

1486 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1487 cov.combine(strict=True, keep=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1488 

+

1489 # After combining, the .coverage file & the original combined file should still be there. 

+

1490 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1491 self.assert_file_count(".coverage.*", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1492 

+

1493 

+

1494class ReportMapsPathsTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1495 """Check that reporting implicitly maps paths.""" 

+

1496 

+

1497 def make_files(self, data: str, settings: bool = False) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1498 """Create the test files we need for line coverage.""" 

+

1499 src = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1500 if VER == 1: 

+

1501 print("line 2") 

+

1502 if VER == 2: 

+

1503 print("line 4") 

+

1504 if VER == 3: 

+

1505 print("line 6") 

+

1506 """ 

+

1507 self.make_file("src/program.py", src) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1508 self.make_file("ver1/program.py", src) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1509 self.make_file("ver2/program.py", src) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1510 

+

1511 if data == "line": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1512 self.make_data_file( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1513 lines={ 

+

1514 abs_file("ver1/program.py"): [1, 2, 3, 5], 

+

1515 abs_file("ver2/program.py"): [1, 3, 4, 5], 

+

1516 } 

+

1517 ) 

+

1518 else: 

+

1519 self.make_data_file( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1520 arcs={ 

+

1521 abs_file("ver1/program.py"): arcz_to_arcs(".1 12 23 35 5."), 

+

1522 abs_file("ver2/program.py"): arcz_to_arcs(".1 13 34 45 5."), 

+

1523 } 

+

1524 ) 

+

1525 

+

1526 if settings: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1527 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1528 [paths] 

+

1529 source = 

+

1530 src 

+

1531 ver1 

+

1532 ver2 

+

1533 """) 

+

1534 

+

1535 def test_map_paths_during_line_report_without_setting(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1536 self.make_files(data="line") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1537 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1538 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1539 cov.report(show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1540 expected = textwrap.dedent(os_sep("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1541 Name Stmts Miss Cover Missing 

+

1542 ----------------------------------------------- 

+

1543 ver1/program.py 6 2 67% 4, 6 

+

1544 ver2/program.py 6 2 67% 2, 6 

+

1545 ----------------------------------------------- 

+

1546 TOTAL 12 4 67% 

+

1547 """)) 

+

1548 assert expected == self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1549 

+

1550 def test_map_paths_during_line_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1551 self.make_files(data="line", settings=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1552 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1553 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1554 cov.report(show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1555 expected = textwrap.dedent(os_sep("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1556 Name Stmts Miss Cover Missing 

+

1557 ---------------------------------------------- 

+

1558 src/program.py 6 1 83% 6 

+

1559 ---------------------------------------------- 

+

1560 TOTAL 6 1 83% 

+

1561 """)) 

+

1562 assert expected == self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1563 

+

1564 def test_map_paths_during_branch_report_without_setting(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1565 self.make_files(data="arcs") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1566 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1567 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1568 cov.report(show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1569 expected = textwrap.dedent(os_sep("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1570 Name Stmts Miss Branch BrPart Cover Missing 

+

1571 ------------------------------------------------------------- 

+

1572 ver1/program.py 6 2 6 3 58% 1->3, 4, 6 

+

1573 ver2/program.py 6 2 6 3 58% 2, 3->5, 6 

+

1574 ------------------------------------------------------------- 

+

1575 TOTAL 12 4 12 6 58% 

+

1576 """)) 

+

1577 assert expected == self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1578 

+

1579 def test_map_paths_during_branch_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1580 self.make_files(data="arcs", settings=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1581 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1582 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1583 cov.report(show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1584 expected = textwrap.dedent(os_sep("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1585 Name Stmts Miss Branch BrPart Cover Missing 

+

1586 ------------------------------------------------------------ 

+

1587 src/program.py 6 1 6 1 83% 6 

+

1588 ------------------------------------------------------------ 

+

1589 TOTAL 6 1 6 1 83% 

+

1590 """)) 

+

1591 assert expected == self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1592 

+

1593 def test_map_paths_during_annotate(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1594 self.make_files(data="line", settings=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1595 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1596 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1597 cov.annotate() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1598 self.assert_exists(os_sep("src/program.py,cover")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1599 self.assert_doesnt_exist(os_sep("ver1/program.py,cover")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1600 self.assert_doesnt_exist(os_sep("ver2/program.py,cover")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1601 

+

1602 def test_map_paths_during_html_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1603 self.make_files(data="line", settings=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1604 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1605 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1606 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1607 contains("htmlcov/index.html", os_sep("src/program.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1608 doesnt_contain("htmlcov/index.html", os_sep("ver1/program.py"), os_sep("ver2/program.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1609 

+

1610 def test_map_paths_during_xml_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1611 self.make_files(data="line", settings=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1612 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1613 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1614 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1615 contains("coverage.xml", "src/program.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1616 doesnt_contain("coverage.xml", "ver1/program.py", "ver2/program.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1617 

+

1618 def test_map_paths_during_json_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1619 self.make_files(data="line", settings=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1620 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1621 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1622 cov.json_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1623 def os_sepj(s: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1624 return os_sep(s).replace("\\", r"\\") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1625 contains("coverage.json", os_sepj("src/program.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1626 doesnt_contain("coverage.json", os_sepj("ver1/program.py"), os_sepj("ver2/program.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1627 

+

1628 def test_map_paths_during_lcov_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1629 self.make_files(data="line", settings=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1630 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1631 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1632 cov.lcov_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1633 contains("coverage.lcov", os_sep("src/program.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1634 doesnt_contain("coverage.lcov", os_sep("ver1/program.py"), os_sep("ver2/program.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_arcs_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_arcs_py.html new file mode 100644 index 000000000..335f2b268 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_arcs_py.html @@ -0,0 +1,2185 @@ + + + + + Coverage for tests/test_arcs.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_arcs.py: + 100.000% +

+ +

+ 421 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.py's arc measurement.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11from tests.helpers import assert_count_equal, xfail_pypy38 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.data import sorted_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.files import abs_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18 

+

19# When a try block ends, does the finally block (incorrectly) jump to the 

+

20# last statement, or does it go the line outside the try block that it 

+

21# should? 

+

22xfail_pypy_3882 = pytest.mark.xfail( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 env.PYPY and env.PYVERSION[:2] == (3, 8) and env.PYPYVERSION >= (7, 3, 11), 

+

24 reason="https://foss.heptapod.net/pypy/pypy/-/issues/3882", 

+

25) 

+

26 

+

27 

+

28class SimpleArcTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 """Tests for coverage.py's arc measurement.""" 

+

30 

+

31 def test_simple_sequence(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 a = 1 

+

34 b = 2 

+

35 """, 

+

36 arcz=".1 12 2.") 

+

37 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 a = 1 

+

39 

+

40 b = 3 

+

41 """, 

+

42 arcz=".1 13 3.") 

+

43 line1 = 1 if env.PYBEHAVIOR.module_firstline_1 else 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 

+

46 a = 2 

+

47 b = 3 

+

48 

+

49 c = 5 

+

50 """, 

+

51 arcz="-{0}2 23 35 5-{0}".format(line1) 

+

52 ) 

+

53 

+

54 def test_function_def(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 def foo(): 

+

57 a = 2 

+

58 

+

59 foo() 

+

60 """, 

+

61 arcz=".1 .2 14 2. 4.") 

+

62 

+

63 def test_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 a = 1 

+

66 if len([]) == 0: 

+

67 a = 3 

+

68 assert a == 3 

+

69 """, 

+

70 arcz=".1 12 23 24 34 4.", arcz_missing="24") 

+

71 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 a = 1 

+

73 if len([]) == 1: 

+

74 a = 3 

+

75 assert a == 1 

+

76 """, 

+

77 arcz=".1 12 23 24 34 4.", arcz_missing="23 34") 

+

78 

+

79 def test_if_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 if len([]) == 0: 

+

82 a = 2 

+

83 else: 

+

84 a = 4 

+

85 assert a == 2 

+

86 """, 

+

87 arcz=".1 12 25 14 45 5.", arcz_missing="14 45") 

+

88 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 if len([]) == 1: 

+

90 a = 2 

+

91 else: 

+

92 a = 4 

+

93 assert a == 4 

+

94 """, 

+

95 arcz=".1 12 25 14 45 5.", arcz_missing="12 25") 

+

96 

+

97 def test_compact_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 a = 1 

+

100 if len([]) == 0: a = 2 

+

101 assert a == 2 

+

102 """, 

+

103 arcz=".1 12 23 3.", 

+

104 ) 

+

105 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 def fn(x): 

+

107 if x % 2: return True 

+

108 return False 

+

109 a = fn(1) 

+

110 assert a is True 

+

111 """, 

+

112 arcz=".1 14 45 5. .2 2. 23 3.", arcz_missing="23 3.") 

+

113 

+

114 def test_multiline(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 a = ( 

+

117 2 + 

+

118 3 

+

119 ) 

+

120 b = \\ 

+

121 6 

+

122 """, 

+

123 arcz=".1 15 5.", 

+

124 ) 

+

125 

+

126 def test_if_return(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 def if_ret(a): 

+

129 if a: 

+

130 return 3 

+

131 b = 4 

+

132 return 5 

+

133 x = if_ret(0) + if_ret(1) 

+

134 assert x == 8 

+

135 """, 

+

136 arcz=".1 16 67 7. .2 23 24 3. 45 5.", 

+

137 ) 

+

138 

+

139 def test_dont_confuse_exit_and_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 def foo(): 

+

142 if foo: 

+

143 a = 3 

+

144 else: 

+

145 a = 5 

+

146 return a 

+

147 assert foo() == 3 # 7 

+

148 """, 

+

149 arcz=".1 17 7. .2 23 36 25 56 6.", arcz_missing="25 56" 

+

150 ) 

+

151 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 def foo(): 

+

153 if foo: 

+

154 a = 3 

+

155 else: 

+

156 a = 5 

+

157 foo() # 6 

+

158 """, 

+

159 arcz=".1 16 6. .2 23 3. 25 5.", arcz_missing="25 5." 

+

160 ) 

+

161 

+

162 def test_what_is_the_sound_of_no_lines_clapping(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 if env.PYBEHAVIOR.empty_is_empty: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 arcz_missing=".1 1." 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

165 else: 

+

166 arcz_missing="" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 # __init__.py 

+

169 """, 

+

170 arcz=".1 1.", 

+

171 arcz_missing=arcz_missing, 

+

172 ) 

+

173 

+

174 def test_bug_1184(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 def foo(x): 

+

177 if x: 

+

178 try: 

+

179 1/(x - 1) 

+

180 except ZeroDivisionError: 

+

181 pass 

+

182 return x # 7 

+

183 

+

184 for i in range(3): # 9 

+

185 foo(i) 

+

186 """, 

+

187 arcz=".1 19 9-1 .2 23 27 34 47 56 67 7-1 9A A9", 

+

188 arcz_unpredicted="45", 

+

189 ) 

+

190 

+

191 

+

192class WithTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 """Arc-measuring tests involving context managers.""" 

+

194 

+

195 def test_with(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 arcz = ".1 .2 23 34 4. 16 6." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 arcz = arcz.replace("4.", "42 2.") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

199 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 def example(): 

+

201 with open("test", "w") as f: 

+

202 f.write("3") 

+

203 a = 4 

+

204 

+

205 example() 

+

206 """, 

+

207 arcz=arcz, 

+

208 ) 

+

209 

+

210 def test_with_return(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 arcz = ".1 .2 23 34 4. 16 6." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 arcz = arcz.replace("4.", "42 2.") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

214 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 def example(): 

+

216 with open("test", "w") as f: 

+

217 f.write("3") 

+

218 return 4 

+

219 

+

220 example() 

+

221 """, 

+

222 arcz=arcz, 

+

223 ) 

+

224 

+

225 def test_bug_146(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 # https://github.com/nedbat/coveragepy/issues/146 

+

227 arcz = ".1 12 23 34 41 15 5." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 arcz = arcz.replace("34", "32 24") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

230 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 for i in range(2): 

+

232 with open("test", "w") as f: 

+

233 print(3) 

+

234 print(4) 

+

235 print(5) 

+

236 """, 

+

237 arcz=arcz, 

+

238 ) 

+

239 

+

240 def test_nested_with_return(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 arcz = ".1 .2 23 34 45 56 6. 18 8." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 arcz = arcz.replace("6.", "64 42 2.") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

244 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 def example(x): 

+

246 with open("test", "w") as f2: 

+

247 a = 3 

+

248 with open("test2", "w") as f4: 

+

249 f2.write("5") 

+

250 return 6 

+

251 

+

252 example(8) 

+

253 """, 

+

254 arcz=arcz, 

+

255 ) 

+

256 

+

257 def test_break_through_with(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 arcz = ".1 12 23 34 45 15 5." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 arcz = arcz.replace("45", "42 25") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

261 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 for i in range(1+1): 

+

263 with open("test", "w") as f: 

+

264 print(3) 

+

265 break 

+

266 print(5) 

+

267 """, 

+

268 arcz=arcz, 

+

269 arcz_missing="15", 

+

270 ) 

+

271 

+

272 def test_continue_through_with(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 arcz = ".1 12 23 34 41 15 5." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 arcz = arcz.replace("41", "42 21") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

276 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 for i in range(1+1): 

+

278 with open("test", "w") as f: 

+

279 print(3) 

+

280 continue 

+

281 print(5) 

+

282 """, 

+

283 arcz=arcz, 

+

284 ) 

+

285 

+

286 # https://github.com/nedbat/coveragepy/issues/1270 

+

287 def test_raise_through_with(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 arcz = ".1 12 27 78 8. 9A A. -23 34 45 53 6-2" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

290 arcz_missing = "6-2 8." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

291 arcz_unpredicted = "3-2 89" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

292 else: 

+

293 arcz = ".1 12 27 78 8. 9A A. -23 34 45 5-2 6-2" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 arcz_missing = "6-2 8." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 arcz_unpredicted = "89" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 cov = self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 from contextlib import suppress 

+

298 def f(x): 

+

299 with suppress(): # used as a null context manager 

+

300 print(4) 

+

301 raise Exception("Boo6") 

+

302 print(6) 

+

303 try: 

+

304 f(8) 

+

305 except Exception: 

+

306 print("oops 10") 

+

307 """, 

+

308 arcz=arcz, 

+

309 arcz_missing=arcz_missing, 

+

310 arcz_unpredicted=arcz_unpredicted, 

+

311 ) 

+

312 expected = "line 3 didn't jump to the function exit" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 assert self.get_missing_arc_description(cov, 3, -2) == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 

+

315 def test_untaken_raise_through_with(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 arcz = ".1 12 28 89 9. AB B. -23 34 45 56 53 63 37 7-2" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

318 arcz_missing = "56 63 AB B." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

319 else: 

+

320 arcz = ".1 12 28 89 9. AB B. -23 34 45 56 6-2 57 7-2" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 arcz_missing = "56 6-2 AB B." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 cov = self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 from contextlib import suppress 

+

324 def f(x): 

+

325 with suppress(): # used as a null context manager 

+

326 print(4) 

+

327 if x == 5: 

+

328 raise Exception("Boo6") 

+

329 print(7) 

+

330 try: 

+

331 f(9) 

+

332 except Exception: 

+

333 print("oops 11") 

+

334 """, 

+

335 arcz=arcz, 

+

336 arcz_missing=arcz_missing, 

+

337 ) 

+

338 expected = "line 3 didn't jump to the function exit" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 assert self.get_missing_arc_description(cov, 3, -2) == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 

+

341 

+

342class LoopArcTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 """Arc-measuring tests involving loops.""" 

+

344 

+

345 def test_loop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

347 for i in range(10): 

+

348 a = i 

+

349 assert a == 9 

+

350 """, 

+

351 arcz=".1 12 21 13 3.", 

+

352 ) 

+

353 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 a = -1 

+

355 for i in range(0): 

+

356 a = i 

+

357 assert a == -1 

+

358 """, 

+

359 arcz=".1 12 23 32 24 4.", arcz_missing="23 32") 

+

360 

+

361 def test_nested_loop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 for i in range(3): 

+

364 for j in range(3): 

+

365 a = i + j 

+

366 assert a == 4 

+

367 """, 

+

368 arcz=".1 12 23 32 21 14 4.", 

+

369 ) 

+

370 

+

371 def test_break(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 arcz = ".1 12 23 35 15 5." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

374 arcz_missing = "15" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

375 else: 

+

376 arcz = ".1 12 23 35 15 41 5." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 arcz_missing = "15 41" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 

+

379 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

380 for i in range(10): 

+

381 a = i 

+

382 break # 3 

+

383 a = 99 

+

384 assert a == 0 # 5 

+

385 """, 

+

386 arcz=arcz, arcz_missing=arcz_missing 

+

387 ) 

+

388 

+

389 def test_continue(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 arcz = ".1 12 23 31 15 5." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

392 arcz_missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

393 else: 

+

394 arcz = ".1 12 23 31 15 41 5." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

395 arcz_missing = "41" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 

+

397 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 for i in range(10): 

+

399 a = i 

+

400 continue # 3 

+

401 a = 99 

+

402 assert a == 9 # 5 

+

403 """, 

+

404 arcz=arcz, arcz_missing=arcz_missing 

+

405 ) 

+

406 

+

407 def test_nested_breaks(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 for i in range(3): 

+

410 for j in range(3): 

+

411 a = i + j 

+

412 break # 4 

+

413 if i == 2: 

+

414 break 

+

415 assert a == 2 and i == 2 # 7 

+

416 """, 

+

417 arcz=".1 12 23 34 45 25 56 51 67 17 7.", arcz_missing="17 25") 

+

418 

+

419 def test_while_1(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

420 # With "while 1", the loop knows it's constant. 

+

421 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 arcz = ".1 12 23 34 45 36 62 57 7." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

423 elif env.PYBEHAVIOR.nix_while_true: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 arcz = ".1 13 34 45 36 63 57 7." 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 else: 

+

426 arcz = ".1 12 23 34 45 36 63 57 7." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

427 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 a, i = 1, 0 

+

429 while 1: 

+

430 if i >= 3: 

+

431 a = 4 

+

432 break 

+

433 i += 1 

+

434 assert a == 4 and i == 3 

+

435 """, 

+

436 arcz=arcz, 

+

437 ) 

+

438 

+

439 def test_while_true(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 # With "while True", 2.x thinks it's computation, 

+

441 # 3.x thinks it's constant. 

+

442 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 arcz = ".1 12 23 34 45 36 62 57 7." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

444 elif env.PYBEHAVIOR.nix_while_true: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 arcz = ".1 13 34 45 36 63 57 7." 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 else: 

+

447 arcz = ".1 12 23 34 45 36 63 57 7." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

448 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 a, i = 1, 0 

+

450 while True: 

+

451 if i >= 3: 

+

452 a = 4 

+

453 break 

+

454 i += 1 

+

455 assert a == 4 and i == 3 

+

456 """, 

+

457 arcz=arcz, 

+

458 ) 

+

459 

+

460 def test_zero_coverage_while_loop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

461 # https://github.com/nedbat/coveragepy/issues/502 

+

462 self.make_file("main.py", "print('done')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 self.make_file("zero.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

464 def method(self): 

+

465 while True: 

+

466 return 1 

+

467 """) 

+

468 cov = coverage.Coverage(source=["."], branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 assert self.stdout() == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

472 num_stmts = 3 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

473 elif env.PYBEHAVIOR.nix_while_true: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 num_stmts = 2 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 else: 

+

476 num_stmts = 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

477 expected = "zero.py {n} {n} 0 0 0% 1-3".format(n=num_stmts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 report = self.get_report(cov, show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 assert expected in squeezed[3] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 

+

482 def test_bug_496_continue_in_constant_while(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 # https://github.com/nedbat/coveragepy/issues/496 

+

484 # A continue in a while-true needs to jump to the right place. 

+

485 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 arcz = ".1 12 23 34 45 52 46 67 7." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

487 elif env.PYBEHAVIOR.nix_while_true: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

488 arcz = ".1 13 34 45 53 46 67 7." 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

489 else: 

+

490 arcz = ".1 12 23 34 45 53 46 67 7." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

491 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 up = iter('ta') 

+

493 while True: 

+

494 char = next(up) 

+

495 if char == 't': 

+

496 continue 

+

497 i = "line 6" 

+

498 break 

+

499 """, 

+

500 arcz=arcz 

+

501 ) 

+

502 

+

503 def test_for_if_else_for(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 def branches_2(l): 

+

506 if l: 

+

507 for e in l: 

+

508 a = 4 

+

509 else: 

+

510 a = 6 

+

511 

+

512 def branches_3(l): 

+

513 for x in l: 

+

514 if x: 

+

515 for e in l: 

+

516 a = 12 

+

517 else: 

+

518 a = 14 

+

519 

+

520 branches_2([0,1]) 

+

521 branches_3([0,1]) 

+

522 """, 

+

523 arcz= 

+

524 ".1 18 8G GH H. " + 

+

525 ".2 23 34 43 26 3. 6. " + 

+

526 "-89 9A 9-8 AB BC CB B9 AE E9", 

+

527 arcz_missing="26 6." 

+

528 ) 

+

529 

+

530 def test_for_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

531 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

532 def forelse(seq): 

+

533 for n in seq: 

+

534 if n > 5: 

+

535 break 

+

536 else: 

+

537 print('None of the values were greater than 5') 

+

538 print('Done') 

+

539 forelse([1,2]) 

+

540 forelse([1,6]) 

+

541 """, 

+

542 arcz=".1 .2 23 32 34 47 26 67 7. 18 89 9." 

+

543 ) 

+

544 

+

545 def test_while_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 def whileelse(seq): 

+

548 while seq: 

+

549 n = seq.pop() 

+

550 if n > 4: 

+

551 break 

+

552 else: 

+

553 n = 99 

+

554 return n 

+

555 assert whileelse([1, 2]) == 99 

+

556 assert whileelse([1, 5]) == 5 

+

557 """, 

+

558 arcz=".1 19 9A A. .2 23 34 45 58 42 27 78 8.", 

+

559 ) 

+

560 

+

561 def test_confusing_for_loop_bug_175(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

562 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 o = [(1,2), (3,4)] 

+

564 o = [a for a in o] 

+

565 for tup in o: 

+

566 x = tup[0] 

+

567 y = tup[1] 

+

568 """, 

+

569 arcz=".1 -22 2-2 12 23 34 45 53 3.", 

+

570 ) 

+

571 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 o = [(1,2), (3,4)] 

+

573 for tup in [a for a in o]: 

+

574 x = tup[0] 

+

575 y = tup[1] 

+

576 """, 

+

577 arcz=".1 12 -22 2-2 23 34 42 2.", 

+

578 ) 

+

579 

+

580 # https://bugs.python.org/issue44672 

+

581 @pytest.mark.xfail(env.PYVERSION < (3, 10), reason="<3.10 traced final pass incorrectly") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

582 def test_incorrect_loop_exit_bug_1175(self) -> None: 

+

583 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

584 def wrong_loop(x): 

+

585 if x: 

+

586 for i in [3, 33]: 

+

587 print(i+4) 

+

588 else: 

+

589 pass 

+

590 

+

591 wrong_loop(8) 

+

592 """, 

+

593 arcz=".1 .2 23 26 34 43 3. 6. 18 8.", 

+

594 arcz_missing="26 6.", 

+

595 ) 

+

596 

+

597 # https://bugs.python.org/issue44672 

+

598 @pytest.mark.xfail(env.PYVERSION < (3, 10), reason="<3.10 traced final pass incorrectly") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

599 def test_incorrect_if_bug_1175(self) -> None: 

+

600 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

601 def wrong_loop(x): 

+

602 if x: 

+

603 if x: 

+

604 print(4) 

+

605 else: 

+

606 pass 

+

607 

+

608 wrong_loop(8) 

+

609 """, 

+

610 arcz=".1 .2 23 26 34 4. 3. 6. 18 8.", 

+

611 arcz_missing="26 3. 6.", 

+

612 ) 

+

613 

+

614 def test_generator_expression(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

615 # Generator expression: 

+

616 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 o = ((1,2), (3,4)) 

+

618 o = (a for a in o) 

+

619 for tup in o: 

+

620 x = tup[0] 

+

621 y = tup[1] 

+

622 """, 

+

623 arcz=".1 -22 2-2 12 23 34 45 53 3.", 

+

624 ) 

+

625 

+

626 def test_generator_expression_another_way(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 # https://bugs.python.org/issue44450 

+

628 # Generator expression: 

+

629 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 o = ((1,2), (3,4)) 

+

631 o = (a for 

+

632 a in 

+

633 o) 

+

634 for tup in o: 

+

635 x = tup[0] 

+

636 y = tup[1] 

+

637 """, 

+

638 arcz=".1 -22 2-2 12 25 56 67 75 5.", 

+

639 ) 

+

640 

+

641 def test_other_comprehensions(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

642 # Set comprehension: 

+

643 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

644 o = ((1,2), (3,4)) 

+

645 o = {a for a in o} 

+

646 for tup in o: 

+

647 x = tup[0] 

+

648 y = tup[1] 

+

649 """, 

+

650 arcz=".1 -22 2-2 12 23 34 45 53 3.", 

+

651 ) 

+

652 # Dict comprehension: 

+

653 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

654 o = ((1,2), (3,4)) 

+

655 o = {a:1 for a in o} 

+

656 for tup in o: 

+

657 x = tup[0] 

+

658 y = tup[1] 

+

659 """, 

+

660 arcz=".1 -22 2-2 12 23 34 45 53 3.", 

+

661 ) 

+

662 

+

663 def test_multiline_dict_comp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

664 # Multiline dict comp: 

+

665 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

666 # comment 

+

667 d = \\ 

+

668 { 

+

669 i: 

+

670 str(i) 

+

671 for 

+

672 i 

+

673 in 

+

674 range(9) 

+

675 } 

+

676 x = 11 

+

677 """, 

+

678 arcz="-22 2B B-2 2-2" 

+

679 ) 

+

680 # Multi dict comp: 

+

681 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

682 # comment 

+

683 d = \\ 

+

684 { 

+

685 (i, j): 

+

686 str(i+j) 

+

687 for 

+

688 i 

+

689 in 

+

690 range(9) 

+

691 for 

+

692 j 

+

693 in 

+

694 range(13) 

+

695 } 

+

696 x = 15 

+

697 """, 

+

698 arcz="-22 2F F-2 2-2" 

+

699 ) 

+

700 

+

701 

+

702class ExceptionArcTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

703 """Arc-measuring tests involving exception handling.""" 

+

704 

+

705 def test_try_except(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

706 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

707 a, b = 1, 1 

+

708 try: 

+

709 a = 3 

+

710 except: 

+

711 b = 5 

+

712 assert a == 3 and b == 1 

+

713 """, 

+

714 arcz=".1 12 23 36 45 56 6.", arcz_missing="45 56") 

+

715 

+

716 def test_raise_followed_by_statement(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

717 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

718 arcz = ".1 12 23 34 46 67 78 8." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

719 arcz_missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

720 else: 

+

721 arcz = ".1 12 23 34 46 58 67 78 8." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

722 arcz_missing = "58" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

723 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

724 a, b = 1, 1 

+

725 try: 

+

726 a = 3 

+

727 raise Exception("Yikes!") 

+

728 a = 5 

+

729 except: 

+

730 b = 7 

+

731 assert a == 3 and b == 7 

+

732 """, 

+

733 arcz=arcz, arcz_missing=arcz_missing, 

+

734 ) 

+

735 

+

736 def test_hidden_raise(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

737 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

738 a, b = 1, 1 

+

739 def oops(x): 

+

740 if x % 2: 

+

741 raise Exception("odd") 

+

742 try: 

+

743 a = 6 

+

744 oops(1) 

+

745 a = 8 

+

746 except: 

+

747 b = 10 

+

748 assert a == 6 and b == 10 

+

749 """, 

+

750 arcz=".1 12 -23 34 3-2 4-2 25 56 67 78 8B 9A AB B.", 

+

751 arcz_missing="3-2 78 8B", arcz_unpredicted="79", 

+

752 ) 

+

753 

+

754 def test_except_with_type(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

755 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

756 a, b = 1, 1 

+

757 def oops(x): 

+

758 if x % 2: 

+

759 raise ValueError("odd") 

+

760 def try_it(x): 

+

761 try: 

+

762 a = 7 

+

763 oops(x) 

+

764 a = 9 

+

765 except ValueError: 

+

766 b = 11 

+

767 return a 

+

768 assert try_it(0) == 9 # C 

+

769 assert try_it(1) == 7 # D 

+

770 """, 

+

771 arcz=".1 12 -23 34 3-2 4-2 25 5D DE E. -56 67 78 89 9C AB BC C-5", 

+

772 arcz_unpredicted="8A", 

+

773 ) 

+

774 

+

775 @xfail_pypy_3882 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

776 def test_try_finally(self) -> None: 

+

777 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

778 a, c = 1, 1 

+

779 try: 

+

780 a = 3 

+

781 finally: 

+

782 c = 5 

+

783 assert a == 3 and c == 5 

+

784 """, 

+

785 arcz=".1 12 23 35 56 6.", 

+

786 ) 

+

787 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

788 a, c, d = 1, 1, 1 

+

789 try: 

+

790 try: 

+

791 a = 4 

+

792 finally: 

+

793 c = 6 

+

794 except: 

+

795 d = 8 

+

796 assert a == 4 and c == 6 and d == 1 # 9 

+

797 """, 

+

798 arcz=".1 12 23 34 46 78 89 69 9.", 

+

799 arcz_missing="78 89", 

+

800 ) 

+

801 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

802 a, c, d = 1, 1, 1 

+

803 try: 

+

804 try: 

+

805 a = 4 

+

806 raise Exception("Yikes!") 

+

807 # line 6 

+

808 finally: 

+

809 c = 8 

+

810 except: 

+

811 d = 10 # A 

+

812 assert a == 4 and c == 8 and d == 10 # B 

+

813 """, 

+

814 arcz=".1 12 23 34 45 58 89 9A AB B.", 

+

815 arcz_missing="", 

+

816 ) 

+

817 

+

818 @xfail_pypy_3882 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

819 def test_finally_in_loop(self) -> None: 

+

820 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

821 a, c, d, i = 1, 1, 1, 99 

+

822 try: 

+

823 for i in range(5): 

+

824 try: 

+

825 a = 5 

+

826 if i > 0: 

+

827 raise Exception("Yikes!") 

+

828 a = 8 

+

829 finally: 

+

830 c = 10 

+

831 except: 

+

832 d = 12 # C 

+

833 assert a == 5 and c == 10 and d == 12 # D 

+

834 """, 

+

835 arcz=".1 12 23 34 3D 45 56 67 68 7A 8A A3 AB BC CD D.", 

+

836 arcz_missing="3D", 

+

837 ) 

+

838 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

839 a, c, d, i = 1, 1, 1, 99 

+

840 try: 

+

841 for i in range(5): 

+

842 try: 

+

843 a = 5 

+

844 if i > 10: 

+

845 raise Exception("Yikes!") 

+

846 a = 8 

+

847 finally: 

+

848 c = 10 

+

849 except: 

+

850 d = 12 # C 

+

851 assert a == 8 and c == 10 and d == 1 # D 

+

852 """, 

+

853 arcz=".1 12 23 34 3D 45 56 67 68 7A 8A A3 AB BC CD D.", 

+

854 arcz_missing="67 7A AB BC CD", 

+

855 ) 

+

856 

+

857 

+

858 @xfail_pypy_3882 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

859 def test_break_through_finally(self) -> None: 

+

860 arcz = ".1 12 23 34 3D 45 56 67 68 7A AD 8A A3 BC CD D." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

861 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

862 arcz = arcz.replace("AD", "A7 7D") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

863 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

864 a, c, d, i = 1, 1, 1, 99 

+

865 try: 

+

866 for i in range(3): 

+

867 try: 

+

868 a = 5 

+

869 if i > 0: 

+

870 break 

+

871 a = 8 

+

872 finally: 

+

873 c = 10 

+

874 except: 

+

875 d = 12 # C 

+

876 assert a == 5 and c == 10 and d == 1 # D 

+

877 """, 

+

878 arcz=arcz, 

+

879 arcz_missing="3D BC CD", 

+

880 ) 

+

881 

+

882 def test_break_continue_without_finally(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

883 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

884 a, c, d, i = 1, 1, 1, 99 

+

885 try: 

+

886 for i in range(3): 

+

887 try: 

+

888 a = 5 

+

889 if i > 0: 

+

890 break 

+

891 continue 

+

892 except: 

+

893 c = 10 

+

894 except: 

+

895 d = 12 # C 

+

896 assert a == 5 and c == 1 and d == 1 # D 

+

897 """, 

+

898 arcz=".1 12 23 34 3D 45 56 67 68 7D 83 9A A3 BC CD D.", 

+

899 arcz_missing="3D 9A A3 BC CD", 

+

900 ) 

+

901 

+

902 @xfail_pypy_3882 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

903 def test_continue_through_finally(self) -> None: 

+

904 arcz = ".1 12 23 34 3D 45 56 67 68 7A 8A A3 BC CD D." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

905 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

906 arcz += " 73 A7" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

907 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

908 a, b, c, d, i = 1, 1, 1, 1, 99 

+

909 try: 

+

910 for i in range(3): 

+

911 try: 

+

912 a = 5 

+

913 if i > 0: 

+

914 continue 

+

915 b = 8 

+

916 finally: 

+

917 c = 10 

+

918 except: 

+

919 d = 12 # C 

+

920 assert (a, b, c, d) == (5, 8, 10, 1) # D 

+

921 """, 

+

922 arcz=arcz, 

+

923 arcz_missing="BC CD", 

+

924 ) 

+

925 

+

926 def test_finally_in_loop_bug_92(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

927 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

928 for i in range(5): 

+

929 try: 

+

930 j = 3 

+

931 finally: 

+

932 f = 5 

+

933 g = 6 

+

934 h = 7 

+

935 """, 

+

936 arcz=".1 12 23 35 56 61 17 7.", 

+

937 ) 

+

938 

+

939 def test_bug_212(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

940 # "except Exception as e" is crucial here. 

+

941 # Bug 212 said that the "if exc" line was incorrectly marked as only 

+

942 # partially covered. 

+

943 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

944 def b(exc): 

+

945 try: 

+

946 while "no peephole".upper(): 

+

947 raise Exception(exc) # 4 

+

948 except Exception as e: 

+

949 if exc != 'expected': 

+

950 raise 

+

951 q = 8 

+

952 

+

953 b('expected') 

+

954 try: 

+

955 b('unexpected') # C 

+

956 except: 

+

957 pass 

+

958 """, 

+

959 arcz=".1 .2 1A 23 34 3. 45 56 67 68 7. 8. AB BC C. DE E.", 

+

960 arcz_missing="3. C.", 

+

961 arcz_unpredicted="CD", 

+

962 ) 

+

963 

+

964 def test_except_finally(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

965 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

966 a, b, c = 1, 1, 1 

+

967 try: 

+

968 a = 3 

+

969 except: 

+

970 b = 5 

+

971 finally: 

+

972 c = 7 

+

973 assert a == 3 and b == 1 and c == 7 

+

974 """, 

+

975 arcz=".1 12 23 45 37 57 78 8.", arcz_missing="45 57") 

+

976 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

977 a, b, c = 1, 1, 1 

+

978 def oops(x): 

+

979 if x % 2: raise Exception("odd") 

+

980 try: 

+

981 a = 5 

+

982 oops(1) 

+

983 a = 7 

+

984 except: 

+

985 b = 9 

+

986 finally: 

+

987 c = 11 

+

988 assert a == 5 and b == 9 and c == 11 

+

989 """, 

+

990 arcz=".1 12 -23 3-2 24 45 56 67 7B 89 9B BC C.", 

+

991 arcz_missing="67 7B", arcz_unpredicted="68") 

+

992 

+

993 def test_multiple_except_clauses(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

994 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

995 a, b, c = 1, 1, 1 

+

996 try: 

+

997 a = 3 

+

998 except ValueError: 

+

999 b = 5 

+

1000 except IndexError: 

+

1001 a = 7 

+

1002 finally: 

+

1003 c = 9 

+

1004 assert a == 3 and b == 1 and c == 9 

+

1005 """, 

+

1006 arcz=".1 12 23 45 46 39 59 67 79 9A A.", 

+

1007 arcz_missing="45 59 46 67 79", 

+

1008 ) 

+

1009 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1010 a, b, c = 1, 1, 1 

+

1011 try: 

+

1012 a = int("xyz") # ValueError 

+

1013 except ValueError: 

+

1014 b = 5 

+

1015 except IndexError: 

+

1016 a = 7 

+

1017 finally: 

+

1018 c = 9 

+

1019 assert a == 1 and b == 5 and c == 9 

+

1020 """, 

+

1021 arcz=".1 12 23 45 46 39 59 67 79 9A A.", 

+

1022 arcz_missing="39 46 67 79", 

+

1023 arcz_unpredicted="34", 

+

1024 ) 

+

1025 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1026 a, b, c = 1, 1, 1 

+

1027 try: 

+

1028 a = [1][3] # IndexError 

+

1029 except ValueError: 

+

1030 b = 5 

+

1031 except IndexError: 

+

1032 a = 7 

+

1033 finally: 

+

1034 c = 9 

+

1035 assert a == 7 and b == 1 and c == 9 

+

1036 """, 

+

1037 arcz=".1 12 23 45 46 39 59 67 79 9A A.", 

+

1038 arcz_missing="39 45 59", 

+

1039 arcz_unpredicted="34", 

+

1040 ) 

+

1041 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1042 a, b, c = 1, 1, 1 

+

1043 try: 

+

1044 try: 

+

1045 a = 4/0 # ZeroDivisionError 

+

1046 except ValueError: 

+

1047 b = 6 

+

1048 except IndexError: 

+

1049 a = 8 

+

1050 finally: 

+

1051 c = 10 

+

1052 except ZeroDivisionError: 

+

1053 pass 

+

1054 assert a == 1 and b == 1 and c == 10 

+

1055 """, 

+

1056 arcz=".1 12 23 34 4A 56 6A 57 78 8A AD BC CD D.", 

+

1057 arcz_missing="4A 56 6A 78 8A AD", 

+

1058 arcz_unpredicted="45 7A AB", 

+

1059 ) 

+

1060 

+

1061 def test_return_finally(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1062 arcz = ".1 12 29 9A AB BC C-1 -23 34 45 7-2 57 38 8-2" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1063 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1064 arcz = arcz.replace("7-2", "75 5-2") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1065 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1066 a = [1] 

+

1067 def check_token(data): 

+

1068 if data: 

+

1069 try: 

+

1070 return 5 

+

1071 finally: 

+

1072 a.append(7) 

+

1073 return 8 

+

1074 assert check_token(False) == 8 

+

1075 assert a == [1] 

+

1076 assert check_token(True) == 5 

+

1077 assert a == [1, 7] 

+

1078 """, 

+

1079 arcz=arcz, 

+

1080 ) 

+

1081 

+

1082 @xfail_pypy_3882 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1083 def test_except_jump_finally(self) -> None: 

+

1084 arcz = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1085 ".1 1Q QR RS ST TU U. " + 

+

1086 ".2 23 34 45 56 4O 6L " + 

+

1087 "78 89 9A AL 8B BC CD DL BE EF FG GL EH HI IJ JL HL " + 

+

1088 "LO L4 L. LM " + 

+

1089 "MN NO O." 

+

1090 ) 

+

1091 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1092 arcz = arcz.replace("LO", "LA AO").replace("L4", "L4 LD D4").replace("L.", "LG G.") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1093 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1094 def func(x): 

+

1095 a = f = g = 2 

+

1096 try: 

+

1097 for i in range(4): 

+

1098 try: 

+

1099 6/0 

+

1100 except ZeroDivisionError: 

+

1101 if x == 'break': 

+

1102 a = 9 

+

1103 break 

+

1104 elif x == 'continue': 

+

1105 a = 12 

+

1106 continue 

+

1107 elif x == 'return': 

+

1108 a = 15 # F 

+

1109 return a, f, g, i # G 

+

1110 elif x == 'raise': # H 

+

1111 a = 18 # I 

+

1112 raise ValueError() # J 

+

1113 finally: 

+

1114 f = 21 # L 

+

1115 except ValueError: # M 

+

1116 g = 23 # N 

+

1117 return a, f, g, i # O 

+

1118 

+

1119 assert func('break') == (9, 21, 2, 0) # Q 

+

1120 assert func('continue') == (12, 21, 2, 3) # R 

+

1121 assert func('return') == (15, 2, 2, 0) # S 

+

1122 assert func('raise') == (18, 21, 23, 0) # T 

+

1123 assert func('other') == (2, 21, 2, 3) # U 30 

+

1124 """, 

+

1125 arcz=arcz, 

+

1126 arcz_missing="6L", 

+

1127 arcz_unpredicted="67", 

+

1128 ) 

+

1129 

+

1130 @xfail_pypy_3882 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1131 def test_else_jump_finally(self) -> None: 

+

1132 arcz = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1133 ".1 1S ST TU UV VW W. " + 

+

1134 ".2 23 34 45 56 6A 78 8N 4Q " + 

+

1135 "AB BC CN AD DE EF FN DG GH HI IN GJ JK KL LN JN " + 

+

1136 "N4 NQ N. NO " + 

+

1137 "OP PQ Q." 

+

1138 ) 

+

1139 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1140 arcz = arcz.replace("NQ", "NC CQ").replace("N4", "N4 NF F4").replace("N.", "NI I.") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1141 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1142 def func(x): 

+

1143 a = f = g = 2 

+

1144 try: 

+

1145 for i in range(4): 

+

1146 try: 

+

1147 b = 6 

+

1148 except ZeroDivisionError: 

+

1149 pass 

+

1150 else: 

+

1151 if x == 'break': 

+

1152 a = 11 

+

1153 break 

+

1154 elif x == 'continue': 

+

1155 a = 14 

+

1156 continue 

+

1157 elif x == 'return': 

+

1158 a = 17 # H 

+

1159 return a, f, g, i # I 

+

1160 elif x == 'raise': # J 

+

1161 a = 20 # K 

+

1162 raise ValueError() # L 

+

1163 finally: 

+

1164 f = 23 # N 

+

1165 except ValueError: # O 

+

1166 g = 25 # P 

+

1167 return a, f, g, i # Q 

+

1168 

+

1169 assert func('break') == (11, 23, 2, 0) # S 

+

1170 assert func('continue') == (14, 23, 2, 3) # T 

+

1171 assert func('return') == (17, 2, 2, 0) # U 

+

1172 assert func('raise') == (20, 23, 25, 0) # V 

+

1173 assert func('other') == (2, 23, 2, 3) # W 32 

+

1174 """, 

+

1175 arcz=arcz, 

+

1176 arcz_missing="78 8N", 

+

1177 arcz_unpredicted="", 

+

1178 ) 

+

1179 

+

1180 

+

1181class YieldTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1182 """Arc tests for generators.""" 

+

1183 

+

1184 def test_yield_in_loop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1185 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1186 def gen(inp): 

+

1187 for n in inp: 

+

1188 yield n 

+

1189 

+

1190 list(gen([1,2,3])) 

+

1191 """, 

+

1192 arcz=".1 .2 23 2. 32 15 5.", 

+

1193 ) 

+

1194 

+

1195 def test_padded_yield_in_loop(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1196 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1197 def gen(inp): 

+

1198 i = 2 

+

1199 for n in inp: 

+

1200 i = 4 

+

1201 yield n 

+

1202 i = 6 

+

1203 i = 7 

+

1204 

+

1205 list(gen([1,2,3])) 

+

1206 """, 

+

1207 arcz=".1 19 9. .2 23 34 45 56 63 37 7.", 

+

1208 ) 

+

1209 

+

1210 def test_bug_308(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1211 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1212 def run(): 

+

1213 for i in range(10): 

+

1214 yield lambda: i 

+

1215 

+

1216 for f in run(): 

+

1217 print(f()) 

+

1218 """, 

+

1219 arcz=".1 15 56 65 5. .2 23 32 2. -33 3-3", 

+

1220 ) 

+

1221 

+

1222 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1223 def run(): 

+

1224 yield lambda: 100 

+

1225 for i in range(10): 

+

1226 yield lambda: i 

+

1227 

+

1228 for f in run(): 

+

1229 print(f()) 

+

1230 """, 

+

1231 arcz=".1 16 67 76 6. .2 23 34 43 3. -22 2-2 -44 4-4", 

+

1232 ) 

+

1233 

+

1234 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1235 def run(): 

+

1236 yield lambda: 100 # no branch miss 

+

1237 

+

1238 for f in run(): 

+

1239 print(f()) 

+

1240 """, 

+

1241 arcz=".1 14 45 54 4. .2 2. -22 2-2", 

+

1242 ) 

+

1243 

+

1244 def test_bug_324(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1245 # This code is tricky: the list() call pulls all the values from gen(), 

+

1246 # but each of them is a generator itself that is never iterated. As a 

+

1247 # result, the generator expression on line 3 is never entered or run. 

+

1248 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1249 def gen(inp): 

+

1250 for n in inp: 

+

1251 yield (i * 2 for i in range(n)) 

+

1252 

+

1253 list(gen([1,2,3])) 

+

1254 """, 

+

1255 arcz= 

+

1256 ".1 15 5. " # The module level 

+

1257 ".2 23 32 2. " # The gen() function 

+

1258 "-33 3-3", # The generator expression 

+

1259 arcz_missing="-33 3-3", 

+

1260 ) 

+

1261 

+

1262 def test_coroutines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1263 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1264 def double_inputs(): 

+

1265 while len([1]): # avoid compiler differences 

+

1266 x = yield 

+

1267 x *= 2 

+

1268 yield x 

+

1269 

+

1270 gen = double_inputs() 

+

1271 next(gen) 

+

1272 print(gen.send(10)) 

+

1273 next(gen) 

+

1274 print(gen.send(6)) 

+

1275 """, 

+

1276 arcz=".1 17 78 89 9A AB B. .2 23 34 45 52 2.", 

+

1277 arcz_missing="2.", 

+

1278 ) 

+

1279 assert self.stdout() == "20\n12\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1280 

+

1281 def test_yield_from(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1282 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1283 def gen(inp): 

+

1284 i = 2 

+

1285 for n in inp: 

+

1286 i = 4 

+

1287 yield from range(3) 

+

1288 i = 6 

+

1289 i = 7 

+

1290 

+

1291 list(gen([1,2,3])) 

+

1292 """, 

+

1293 arcz=".1 19 9. .2 23 34 45 56 63 37 7.", 

+

1294 ) 

+

1295 

+

1296 def test_abandoned_yield(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1297 # https://github.com/nedbat/coveragepy/issues/440 

+

1298 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1299 def gen(): 

+

1300 print("yup") 

+

1301 yield "yielded" 

+

1302 print("nope") 

+

1303 

+

1304 print(next(gen())) 

+

1305 """, 

+

1306 lines=[1, 2, 3, 4, 6], 

+

1307 missing="4", 

+

1308 arcz=".1 16 6. .2 23 34 4.", 

+

1309 arcz_missing="34 4.", 

+

1310 ) 

+

1311 

+

1312 

+

1313@pytest.mark.skipif(not env.PYBEHAVIOR.match_case, reason="Match-case is new in 3.10") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1314class MatchCaseTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1315 """Tests of match-case.""" 

+

1316 def test_match_case_with_default(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1317 self.check_coverage("""\ 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1318 for command in ["huh", "go home", "go n"]: 

+

1319 match command.split(): 

+

1320 case ["go", direction] if direction in "nesw": 

+

1321 match = f"go: {direction}" 

+

1322 case ["go", _]: 

+

1323 match = "no go" 

+

1324 case _: 

+

1325 match = "default" 

+

1326 print(match) 

+

1327 """, 

+

1328 arcz=".1 12 23 34 49 35 56 69 57 78 89 91 1.", 

+

1329 ) 

+

1330 assert self.stdout() == "default\nno go\ngo: n\n" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1331 

+

1332 def test_match_case_with_wildcard(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1333 self.check_coverage("""\ 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1334 for command in ["huh", "go home", "go n"]: 

+

1335 match command.split(): 

+

1336 case ["go", direction] if direction in "nesw": 

+

1337 match = f"go: {direction}" 

+

1338 case ["go", _]: 

+

1339 match = "no go" 

+

1340 case x: 

+

1341 match = f"default: {x}" 

+

1342 print(match) 

+

1343 """, 

+

1344 arcz=".1 12 23 34 49 35 56 69 57 78 89 91 1.", 

+

1345 ) 

+

1346 assert self.stdout() == "default: ['huh']\nno go\ngo: n\n" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1347 

+

1348 def test_match_case_without_wildcard(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1349 self.check_coverage("""\ 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1350 match = None 

+

1351 for command in ["huh", "go home", "go n"]: 

+

1352 match command.split(): 

+

1353 case ["go", direction] if direction in "nesw": 

+

1354 match = f"go: {direction}" 

+

1355 case ["go", _]: 

+

1356 match = "no go" 

+

1357 print(match) 

+

1358 """, 

+

1359 arcz=".1 12 23 34 45 58 46 78 67 68 82 2.", 

+

1360 ) 

+

1361 assert self.stdout() == "None\nno go\ngo: n\n" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1362 

+

1363 def test_absurd_wildcard(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1364 # https://github.com/nedbat/coveragepy/issues/1421 

+

1365 self.check_coverage("""\ 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1366 def absurd(x): 

+

1367 match x: 

+

1368 case (3 | 99 | (999 | _)): 

+

1369 print("default") 

+

1370 absurd(5) 

+

1371 """, 

+

1372 arcz=".1 15 5. .2 23 34 4.", 

+

1373 ) 

+

1374 assert self.stdout() == "default\n" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1375 

+

1376 

+

1377class OptimizedIfTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1378 """Tests of if statements being optimized away.""" 

+

1379 

+

1380 def test_optimized_away_if_0(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1381 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1382 lines = [1, 2, 3, 4, 8, 9] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1383 arcz = ".1 12 23 24 34 48 49 89 9." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1384 arcz_missing = "24" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1385 # 49 isn't missing because line 4 is matched by the default partial 

+

1386 # exclusion regex, and no branches are considered missing if they 

+

1387 # start from an excluded line. 

+

1388 else: 

+

1389 lines = [1, 2, 3, 8, 9] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1390 arcz = ".1 12 23 28 38 89 9." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1391 arcz_missing = "28" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1392 

+

1393 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1394 a = 1 

+

1395 if len([2]): 

+

1396 c = 3 

+

1397 if 0: 

+

1398 if len([5]): 

+

1399 d = 6 

+

1400 else: 

+

1401 e = 8 

+

1402 f = 9 

+

1403 """, 

+

1404 lines=lines, 

+

1405 arcz=arcz, 

+

1406 arcz_missing=arcz_missing, 

+

1407 ) 

+

1408 

+

1409 def test_optimized_away_if_1(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1410 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1411 lines = [1, 2, 3, 4, 5, 6, 9] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1412 arcz = ".1 12 23 24 34 45 49 56 69 59 9." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1413 arcz_missing = "24 59" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1414 # 49 isn't missing because line 4 is matched by the default partial 

+

1415 # exclusion regex, and no branches are considered missing if they 

+

1416 # start from an excluded line. 

+

1417 else: 

+

1418 lines = [1, 2, 3, 5, 6, 9] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1419 arcz = ".1 12 23 25 35 56 69 59 9." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1420 arcz_missing = "25 59" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1421 

+

1422 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1423 a = 1 

+

1424 if len([2]): 

+

1425 c = 3 

+

1426 if 1: 

+

1427 if len([5]): 

+

1428 d = 6 

+

1429 else: 

+

1430 e = 8 

+

1431 f = 9 

+

1432 """, 

+

1433 lines=lines, 

+

1434 arcz=arcz, 

+

1435 arcz_missing=arcz_missing, 

+

1436 ) 

+

1437 

+

1438 def test_optimized_away_if_1_no_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1439 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1440 lines = [1, 2, 3, 4, 5] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1441 arcz = ".1 12 23 25 34 45 5." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1442 arcz_missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1443 # 25 isn't missing because line 2 is matched by the default partial 

+

1444 # exclusion regex, and no branches are considered missing if they 

+

1445 # start from an excluded line. 

+

1446 else: 

+

1447 lines = [1, 3, 4, 5] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1448 arcz = ".1 13 34 45 5." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1449 arcz_missing = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1450 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1451 a = 1 

+

1452 if 1: 

+

1453 b = 3 

+

1454 c = 4 

+

1455 d = 5 

+

1456 """, 

+

1457 lines=lines, 

+

1458 arcz=arcz, 

+

1459 arcz_missing=arcz_missing, 

+

1460 ) 

+

1461 

+

1462 def test_optimized_if_nested(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1463 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1464 lines = [1, 2, 8, 11, 12, 13, 14, 15] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1465 arcz = ".1 12 28 2F 8B 8F BC CD DE EF F." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1466 arcz_missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1467 # 2F and 8F aren't missing because they're matched by the default 

+

1468 # partial exclusion regex, and no branches are considered missing 

+

1469 # if they start from an excluded line. 

+

1470 else: 

+

1471 lines = [1, 12, 14, 15] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1472 arcz = ".1 1C CE EF F." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1473 arcz_missing = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1474 

+

1475 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1476 a = 1 

+

1477 if 0: 

+

1478 if 0: 

+

1479 b = 4 

+

1480 else: 

+

1481 c = 6 

+

1482 else: 

+

1483 if 0: 

+

1484 d = 9 

+

1485 else: 

+

1486 if 0: e = 11 

+

1487 f = 12 

+

1488 if 0: g = 13 

+

1489 h = 14 

+

1490 i = 15 

+

1491 """, 

+

1492 lines=lines, 

+

1493 arcz=arcz, 

+

1494 arcz_missing=arcz_missing, 

+

1495 ) 

+

1496 

+

1497 def test_dunder_debug(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1498 # Since some of our tests use __debug__, let's make sure it is true as 

+

1499 # we expect 

+

1500 assert __debug__ 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1501 # Check that executed code has __debug__ 

+

1502 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1503 assert __debug__, "assert __debug__" 

+

1504 """ 

+

1505 ) 

+

1506 # Check that if it didn't have debug, it would let us know. 

+

1507 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1508 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1509 assert not __debug__, "assert not __debug__" 

+

1510 """ 

+

1511 ) 

+

1512 

+

1513 def test_if_debug(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1514 if env.PYBEHAVIOR.optimize_if_debug: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1515 arcz = ".1 12 24 41 26 61 1." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1516 arcz_missing = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1517 else: 

+

1518 arcz = ".1 12 23 31 34 41 26 61 1." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1519 arcz_missing = "31" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1520 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1521 for value in [True, False]: 

+

1522 if value: 

+

1523 if __debug__: 

+

1524 x = 4 

+

1525 else: 

+

1526 x = 6 

+

1527 """, 

+

1528 arcz=arcz, 

+

1529 arcz_missing=arcz_missing, 

+

1530 ) 

+

1531 

+

1532 @xfail_pypy_3882 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1533 def test_if_not_debug(self) -> None: 

+

1534 if env.PYBEHAVIOR.optimize_if_not_debug == 1: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1535 arcz = ".1 12 23 34 42 37 72 28 8." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

1536 elif env.PYBEHAVIOR.optimize_if_not_debug == 2: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1537 arcz = ".1 12 23 35 52 37 72 28 8." 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.9.ubuntu-latest.py

+

1538 else: 

+

1539 assert env.PYBEHAVIOR.optimize_if_not_debug == 3 pypy-3.8.ubuntu-latest.py

+

1540 arcz = ".1 12 23 32 37 72 28 8." pypy-3.8.ubuntu-latest.py

+

1541 

+

1542 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1543 lines = set() 

+

1544 for value in [True, False]: 

+

1545 if value: 

+

1546 if not __debug__: 

+

1547 lines.add(5) 

+

1548 else: 

+

1549 lines.add(7) 

+

1550 assert lines == set([7]) 

+

1551 """, 

+

1552 arcz=arcz, 

+

1553 ) 

+

1554 

+

1555 

+

1556class MiscArcTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1557 """Miscellaneous arc-measuring tests.""" 

+

1558 

+

1559 def test_dict_literal(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1560 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1561 d = { 

+

1562 'a': 2, 

+

1563 'b': 3, 

+

1564 'c': { 

+

1565 'd': 5, 

+

1566 'e': 6, 

+

1567 } 

+

1568 } 

+

1569 assert d 

+

1570 """, 

+

1571 arcz=".1 19 9.", 

+

1572 ) 

+

1573 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1574 d = \\ 

+

1575 { 'a': 2, 

+

1576 'b': 3, 

+

1577 'c': { 

+

1578 'd': 5, 

+

1579 'e': 6, 

+

1580 } 

+

1581 } 

+

1582 assert d 

+

1583 """, 

+

1584 arcz=".1 19 9.", 

+

1585 ) 

+

1586 

+

1587 def test_unpacked_literals(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1588 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1589 d = { 

+

1590 'a': 2, 

+

1591 'b': 3, 

+

1592 } 

+

1593 weird = { 

+

1594 **d, 

+

1595 **{'c': 7}, 

+

1596 'd': 8, 

+

1597 } 

+

1598 assert weird['b'] == 3 

+

1599 """, 

+

1600 arcz=".1 15 5A A." 

+

1601 ) 

+

1602 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1603 l = [ 

+

1604 2, 

+

1605 3, 

+

1606 ] 

+

1607 weird = [ 

+

1608 *l, 

+

1609 *[7], 

+

1610 8, 

+

1611 ] 

+

1612 assert weird[1] == 3 

+

1613 """, 

+

1614 arcz=".1 15 5A A." 

+

1615 ) 

+

1616 

+

1617 @pytest.mark.parametrize("n", [10, 50, 100, 500, 1000, 2000, 10000]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1618 def test_pathologically_long_code_object(self, n: int) -> None: 

+

1619 # https://github.com/nedbat/coveragepy/issues/359 

+

1620 # Long code objects sometimes cause problems. Originally, it was 

+

1621 # due to EXTENDED_ARG bytes codes. Then it showed a mistake in 

+

1622 # line-number packing. 

+

1623 code = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1624 data = [ 

+

1625 """ + "".join("""\ 

+

1626 [ 

+

1627 {i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}], 

+

1628 """.format(i=i) for i in range(n) 

+

1629 ) + """\ 

+

1630 ] 

+

1631 

+

1632 print(len(data)) 

+

1633 """ 

+

1634 self.check_coverage(code, arcs=[(-1, 1), (1, 2*n+4), (2*n+4, -1)]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1635 assert self.stdout() == f"{n}\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1636 

+

1637 def test_partial_generators(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1638 # https://github.com/nedbat/coveragepy/issues/475 

+

1639 # Line 2 is executed completely. 

+

1640 # Line 3 is started but not finished, because zip ends before it finishes. 

+

1641 # Line 4 is never started. 

+

1642 cov = self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1643 def f(a, b): 

+

1644 c = (i for i in a) # 2 

+

1645 d = (j for j in b) # 3 

+

1646 e = (k for k in b) # 4 

+

1647 return dict(zip(c, d)) 

+

1648 

+

1649 f(['a', 'b'], [1, 2, 3]) 

+

1650 """, 

+

1651 arcz=".1 17 7. .2 23 34 45 5. -22 2-2 -33 3-3 -44 4-4", 

+

1652 arcz_missing="3-3 -44 4-4", 

+

1653 ) 

+

1654 expected = "line 3 didn't finish the generator expression on line 3" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1655 assert self.get_missing_arc_description(cov, 3, -3) == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1656 expected = "line 4 didn't run the generator expression on line 4" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1657 assert self.get_missing_arc_description(cov, 4, -4) == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1658 

+

1659 

+

1660class DecoratorArcTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1661 """Tests of arcs with decorators.""" 

+

1662 

+

1663 def test_function_decorator(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1664 arcz = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1665 ".1 16 67 7A AE EF F. " # main line 

+

1666 ".2 24 4. -23 3-2 " # decorators 

+

1667 "-6D D-6 " # my_function 

+

1668 ) 

+

1669 if env.PYBEHAVIOR.trace_decorator_line_again: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1670 arcz += "A7 76 6A " 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1671 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1672 def decorator(arg): 

+

1673 def _dec(f): 

+

1674 return f 

+

1675 return _dec 

+

1676 

+

1677 @decorator(6) 

+

1678 @decorator( 

+

1679 len([8]), 

+

1680 ) 

+

1681 def my_function( 

+

1682 a=len([11]), 

+

1683 ): 

+

1684 x = 13 

+

1685 a = 14 

+

1686 my_function() 

+

1687 """, 

+

1688 arcz=arcz, 

+

1689 ) 

+

1690 

+

1691 @xfail_pypy38 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1692 def test_class_decorator(self) -> None: 

+

1693 arcz = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1694 ".1 16 67 6D 7A AE E. " # main line 

+

1695 ".2 24 4. -23 3-2 " # decorators 

+

1696 "-66 D-6 " # MyObject 

+

1697 ) 

+

1698 if env.PYBEHAVIOR.trace_decorator_line_again: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1699 arcz += "A7 76 6A " 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1700 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1701 def decorator(arg): 

+

1702 def _dec(c): 

+

1703 return c 

+

1704 return _dec 

+

1705 

+

1706 @decorator(6) 

+

1707 @decorator( 

+

1708 len([8]), 

+

1709 ) 

+

1710 class MyObject( 

+

1711 object 

+

1712 ): 

+

1713 X = 13 

+

1714 a = 14 

+

1715 """, 

+

1716 arcz=arcz, 

+

1717 ) 

+

1718 

+

1719 def test_bug_466a(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1720 # A bad interaction between decorators and multi-line list assignments, 

+

1721 # believe it or not...! 

+

1722 arcz = ".1 1A A. 13 3. -35 58 8-3 " 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1723 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1724 arcz = arcz.replace("3.", "34 4.") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1725 if env.PYBEHAVIOR.trace_decorator_line_again: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1726 arcz += "43 " 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1727 # This example makes more sense when considered in tandem with 466b below. 

+

1728 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1729 class Parser(object): 

+

1730 

+

1731 @classmethod 

+

1732 def parse(cls): 

+

1733 formats = [ 5 ] 

+

1734 

+

1735 

+

1736 return None 

+

1737 

+

1738 Parser.parse() 

+

1739 """, 

+

1740 arcz=arcz, 

+

1741 ) 

+

1742 

+

1743 def test_bug_466b(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1744 # A bad interaction between decorators and multi-line list assignments, 

+

1745 # believe it or not...! 

+

1746 arcz = ".1 1A A. 13 3. -35 58 8-3 " 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1747 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1748 arcz = arcz.replace("3.", "34 4.") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1749 if env.PYBEHAVIOR.trace_decorator_line_again: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1750 arcz += "43 " 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1751 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1752 class Parser(object): 

+

1753 

+

1754 @classmethod 

+

1755 def parse(cls): 

+

1756 formats = [ 

+

1757 6, 

+

1758 ] 

+

1759 return None 

+

1760 

+

1761 Parser.parse() 

+

1762 """, 

+

1763 arcz=arcz, 

+

1764 ) 

+

1765 

+

1766 

+

1767class LambdaArcTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1768 """Tests of lambdas""" 

+

1769 

+

1770 def test_multiline_lambda(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1771 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1772 fn = (lambda x: 

+

1773 x + 2 

+

1774 ) 

+

1775 assert fn(4) == 6 

+

1776 """, 

+

1777 arcz=".1 14 4-1 1-1", 

+

1778 ) 

+

1779 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1780 

+

1781 fn = \\ 

+

1782 ( 

+

1783 lambda 

+

1784 x: 

+

1785 x 

+

1786 + 

+

1787 8 

+

1788 ) 

+

1789 assert fn(10) == 18 

+

1790 """, 

+

1791 arcz="-22 2A A-2 2-2", 

+

1792 ) 

+

1793 

+

1794 def test_unused_lambdas_are_confusing_bug_90(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1795 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1796 a = 1 

+

1797 fn = lambda x: x 

+

1798 b = 3 

+

1799 """, 

+

1800 arcz=".1 12 -22 2-2 23 3.", arcz_missing="-22 2-2", 

+

1801 ) 

+

1802 

+

1803 def test_raise_with_lambda_looks_like_partial_branch(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1804 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1805 def ouch(fn): 

+

1806 2/0 

+

1807 a = b = c = d = 3 

+

1808 try: 

+

1809 a = ouch(lambda: 5) 

+

1810 if a: 

+

1811 b = 7 

+

1812 except ZeroDivisionError: 

+

1813 c = 9 

+

1814 d = 10 

+

1815 assert (a, b, c, d) == (3, 3, 9, 10) 

+

1816 """, 

+

1817 lines=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 

+

1818 missing="6-7", 

+

1819 arcz=".1 13 34 45 56 67 6A 7A 89 9A AB B. .2 2. -55 5-5", 

+

1820 arcz_missing="56 67 6A 7A -55 5-5", 

+

1821 arcz_unpredicted="58", 

+

1822 ) 

+

1823 

+

1824 def test_lambda_in_dict(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1825 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1826 x = 1 

+

1827 x = 2 

+

1828 d = { 

+

1829 4: lambda: [], 

+

1830 5: lambda: [], 

+

1831 6: lambda: [], 

+

1832 7: lambda: [], 

+

1833 } 

+

1834 

+

1835 for k, v in d.items(): # 10 

+

1836 if k & 1: 

+

1837 v() 

+

1838 """, 

+

1839 arcz=".1 12 23 3A AB BC BA CA A. -33 3-3", 

+

1840 ) 

+

1841 

+

1842 

+

1843xfail_eventlet_670 = pytest.mark.xfail( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1844 env.PYVERSION[:2] == (3, 9) and env.CPYTHON and env.OSX, 

+

1845 reason="Avoid an eventlet bug on Mac 3.9: eventlet#670", 

+

1846 # https://github.com/eventlet/eventlet/issues/670 

+

1847) 

+

1848 

+

1849 

+

1850class AsyncTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1851 """Tests of the new async and await keywords in Python 3.5""" 

+

1852 

+

1853 @xfail_eventlet_670 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1854 def test_async(self) -> None: 

+

1855 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1856 import asyncio 

+

1857 

+

1858 async def compute(x, y): # 3 

+

1859 print(f"Compute {x} + {y} ...") 

+

1860 await asyncio.sleep(0.001) 

+

1861 return x + y # 6 

+

1862 

+

1863 async def print_sum(x, y): # 8 

+

1864 result = (0 + 

+

1865 await compute(x, y) # A 

+

1866 ) 

+

1867 print(f"{x} + {y} = {result}") 

+

1868 

+

1869 loop = asyncio.new_event_loop() # E 

+

1870 loop.run_until_complete(print_sum(1, 2)) 

+

1871 loop.close() # G 

+

1872 """, 

+

1873 arcz= 

+

1874 ".1 13 38 8E EF FG G. " + 

+

1875 "-34 45 56 6-3 " + 

+

1876 "-89 9C C-8", 

+

1877 ) 

+

1878 assert self.stdout() == "Compute 1 + 2 ...\n1 + 2 = 3\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1879 

+

1880 @xfail_eventlet_670 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1881 def test_async_for(self) -> None: 

+

1882 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1883 import asyncio 

+

1884 

+

1885 class AsyncIteratorWrapper: # 3 

+

1886 def __init__(self, obj): # 4 

+

1887 self._it = iter(obj) 

+

1888 

+

1889 def __aiter__(self): # 7 

+

1890 return self 

+

1891 

+

1892 async def __anext__(self): # A 

+

1893 try: 

+

1894 return next(self._it) 

+

1895 except StopIteration: 

+

1896 raise StopAsyncIteration 

+

1897 

+

1898 async def doit(): # G 

+

1899 async for letter in AsyncIteratorWrapper("abc"): 

+

1900 print(letter) 

+

1901 print(".") 

+

1902 

+

1903 loop = asyncio.new_event_loop() # L 

+

1904 loop.run_until_complete(doit()) 

+

1905 loop.close() 

+

1906 """, 

+

1907 arcz= 

+

1908 ".1 13 3G GL LM MN N. " # module main line 

+

1909 "-33 34 47 7A A-3 " # class definition 

+

1910 "-GH HI IH HJ J-G " # doit 

+

1911 "-45 5-4 " # __init__ 

+

1912 "-78 8-7 " # __aiter__ 

+

1913 "-AB BC C-A DE E-A ", # __anext__ 

+

1914 arcz_unpredicted="CD", 

+

1915 ) 

+

1916 assert self.stdout() == "a\nb\nc\n.\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1917 

+

1918 def test_async_with(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1919 if env.PYBEHAVIOR.exit_through_with: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1920 arcz = ".1 1. .2 23 32 2." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1921 arcz_missing = ".2 23 32 2." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1922 else: 

+

1923 arcz = ".1 1. .2 23 3." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1924 arcz_missing = ".2 23 3." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1925 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1926 async def go(): 

+

1927 async with x: 

+

1928 pass 

+

1929 """, 

+

1930 arcz=arcz, 

+

1931 arcz_missing=arcz_missing, 

+

1932 ) 

+

1933 

+

1934 def test_async_decorator(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1935 arcz = ".1 14 4. .2 2. -46 6-4 " 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1936 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1937 arcz = arcz.replace("4.", "45 5.") 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1938 if env.PYBEHAVIOR.trace_decorator_line_again: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1939 arcz += "54 " 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1940 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1941 def wrap(f): # 1 

+

1942 return f 

+

1943 

+

1944 @wrap # 4 

+

1945 async def go(): 

+

1946 return 

+

1947 """, 

+

1948 arcz=arcz, 

+

1949 arcz_missing='-46 6-4', 

+

1950 ) 

+

1951 

+

1952 # https://github.com/nedbat/coveragepy/issues/1158 

+

1953 # https://bugs.python.org/issue44621 

+

1954 @pytest.mark.skipif(env.PYVERSION[:2] == (3, 9), reason="avoid a 3.9 bug: 44621") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1955 def test_bug_1158(self) -> None: 

+

1956 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.py

+

1957 import asyncio 

+

1958 

+

1959 async def async_gen(): 

+

1960 yield 4 

+

1961 

+

1962 async def async_test(): 

+

1963 global a 

+

1964 a = 8 

+

1965 async for i in async_gen(): 

+

1966 print(i + 10) 

+

1967 else: 

+

1968 a = 12 

+

1969 

+

1970 asyncio.run(async_test()) 

+

1971 assert a == 12 

+

1972 """, 

+

1973 arcz=".1 13 36 6E EF F. -34 4-3 -68 89 9A 9C A9 C-6", 

+

1974 ) 

+

1975 assert self.stdout() == "14\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.py

+

1976 

+

1977 # https://github.com/nedbat/coveragepy/issues/1176 

+

1978 # https://bugs.python.org/issue44622 

+

1979 @xfail_eventlet_670 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1980 def test_bug_1176(self) -> None: 

+

1981 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1982 import asyncio 

+

1983 

+

1984 async def async_gen(): 

+

1985 yield 4 

+

1986 

+

1987 async def async_test(): 

+

1988 async for i in async_gen(): 

+

1989 print(i + 8) 

+

1990 

+

1991 asyncio.run(async_test()) 

+

1992 """, 

+

1993 arcz=".1 13 36 6A A. -34 4-3 -67 78 87 7-6", 

+

1994 ) 

+

1995 assert self.stdout() == "12\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1996 

+

1997 # https://github.com/nedbat/coveragepy/issues/1205 

+

1998 def test_bug_1205(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1999 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2000 def func(): 

+

2001 if T(2): 

+

2002 if T(3): 

+

2003 if F(4): 

+

2004 if X(5): 

+

2005 return 6 

+

2006 else: 

+

2007 return 8 

+

2008 elif X(9) and Y: 

+

2009 return 10 

+

2010 

+

2011 T, F = (lambda _: True), (lambda _: False) 

+

2012 func() 

+

2013 """, 

+

2014 arcz=".1 1C CD D. .2 23 29 34 38 45 4. 56 5. 6. 8. 9. 9A A. -CC C-C", 

+

2015 arcz_missing="29 38 45 56 5. 6. 8. 9. 9A A.", 

+

2016 ) 

+

2017 

+

2018 

+

2019class AnnotationTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2020 """Tests using type annotations.""" 

+

2021 

+

2022 def test_annotations(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2023 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2024 def f(x:str, y:int) -> str: 

+

2025 a:int = 2 

+

2026 return f"{x}, {y}, {a}, 3" 

+

2027 print(f("x", 4)) 

+

2028 """, 

+

2029 arcz=".1 .2 23 3. 14 4.", 

+

2030 ) 

+

2031 assert self.stdout() == "x, 4, 2, 3\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2032 

+

2033 

+

2034class ExcludeTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2035 """Tests of exclusions to indicate known partial branches.""" 

+

2036 

+

2037 def test_default(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2038 # A number of forms of pragma comment are accepted. 

+

2039 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2040 a = 1 

+

2041 if a: #pragma: no branch 

+

2042 b = 3 

+

2043 c = 4 

+

2044 if c: # pragma NOBRANCH 

+

2045 d = 6 

+

2046 e = 7 

+

2047 if e:#\tpragma:\tno branch 

+

2048 f = 9 

+

2049 """, 

+

2050 [1,2,3,4,5,6,7,8,9], 

+

2051 arcz=".1 12 23 24 34 45 56 57 67 78 89 9. 8.", 

+

2052 ) 

+

2053 

+

2054 def test_custom_pragmas(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2055 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2056 a = 1 

+

2057 while a: # [only some] 

+

2058 c = 3 

+

2059 break 

+

2060 assert c == 5-2 

+

2061 """, 

+

2062 [1,2,3,4,5], 

+

2063 partials=["only some"], 

+

2064 arcz=".1 12 23 34 45 25 5.", 

+

2065 ) 

+

2066 

+

2067 

+

2068class LineDataTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2069 """Tests that line_data gives us what we expect.""" 

+

2070 

+

2071 def test_branch(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2072 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2073 

+

2074 self.make_file("fun1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2075 def fun1(x): 

+

2076 if x == 1: 

+

2077 return 

+

2078 

+

2079 fun1(3) 

+

2080 """) 

+

2081 

+

2082 self.start_import_stop(cov, "fun1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2083 

+

2084 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2085 fun1_lines = sorted_lines(data, abs_file("fun1.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

2086 assert_count_equal(fun1_lines, [1, 2, 5]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_cmdline_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_cmdline_py.html new file mode 100644 index 000000000..cceefb145 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_cmdline_py.html @@ -0,0 +1,1321 @@ + + + + + Coverage for tests/test_cmdline.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_cmdline.py: + 100.000% +

+ +

+ 414 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Test cmdline.py for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import ast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import pprint 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from unittest import mock 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from typing import Any, List, Mapping, Optional, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20import coverage.cmdline 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.control import DEFAULT_DATAFILE 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.config import CoverageConfig 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.exceptions import _ExceptionDuringRun 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.types import TConfigValueIn, TConfigValueOut 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.version import __url__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28from tests.coveragetest import CoverageTest, OK, ERR, command_line 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from tests.helpers import os_sep, re_line 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 

+

31 

+

32class BaseCmdLineTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 """Tests of execution paths through the command line interpreter.""" 

+

34 

+

35 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37 # Make a dict mapping function names to the default values that cmdline.py 

+

38 # uses when calling the function. 

+

39 _defaults = mock.Mock() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 _defaults.Coverage().annotate( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 directory=None, ignore_errors=None, include=None, omit=None, morfs=[], 

+

42 contexts=None, 

+

43 ) 

+

44 _defaults.Coverage().html_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 directory=None, ignore_errors=None, include=None, omit=None, morfs=[], 

+

46 skip_covered=None, show_contexts=None, title=None, contexts=None, 

+

47 skip_empty=None, precision=None, 

+

48 ) 

+

49 _defaults.Coverage().report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 ignore_errors=None, include=None, omit=None, morfs=[], 

+

51 show_missing=None, skip_covered=None, contexts=None, skip_empty=None, 

+

52 precision=None, sort=None, output_format=None, 

+

53 ) 

+

54 _defaults.Coverage().xml_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 ignore_errors=None, include=None, omit=None, morfs=[], outfile=None, 

+

56 contexts=None, skip_empty=None, 

+

57 ) 

+

58 _defaults.Coverage().json_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 ignore_errors=None, include=None, omit=None, morfs=[], outfile=None, 

+

60 contexts=None, pretty_print=None, show_contexts=None, 

+

61 ) 

+

62 _defaults.Coverage().lcov_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 ignore_errors=None, include=None, omit=None, morfs=[], outfile=None, 

+

64 contexts=None, 

+

65 ) 

+

66 _defaults.Coverage( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 data_file=DEFAULT_DATAFILE, 

+

68 cover_pylib=None, data_suffix=None, timid=None, branch=None, 

+

69 config_file=True, source=None, include=None, omit=None, debug=None, 

+

70 concurrency=None, check_preimported=True, context=None, messages=True, 

+

71 ) 

+

72 

+

73 DEFAULT_KWARGS = {name: kw for name, _, kw in _defaults.mock_calls} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 def model_object(self) -> mock.Mock: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 """Return a Mock suitable for use in CoverageScript.""" 

+

77 mk = mock.Mock() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 

+

79 cov = mk.Coverage.return_value 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 

+

81 # The mock needs options. 

+

82 mk.config = CoverageConfig() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 cov.get_option = mk.config.get_option 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 cov.set_option = mk.config.set_option 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 

+

86 # Get the type right for the result of reporting. 

+

87 cov.report.return_value = 50.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 cov.html_report.return_value = 50.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 cov.xml_report.return_value = 50.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 cov.json_report.return_value = 50.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 cov.lcov_report.return_value = 50.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 

+

93 return mk 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 

+

95 # Global names in cmdline.py that will be mocked during the tests. 

+

96 MOCK_GLOBALS = ['Coverage', 'PyRunner', 'show_help'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 def mock_command_line( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

99 self, 

+

100 args: str, 

+

101 options: Optional[Mapping[str, TConfigValueIn]] = None, 

+

102 ) -> Tuple[mock.Mock, int]: 

+

103 """Run `args` through the command line, with a Mock. 

+

104 

+

105 `options` is a dict of names and values to pass to `set_option`. 

+

106 

+

107 Returns the Mock it used and the status code returned. 

+

108 

+

109 """ 

+

110 mk = self.model_object() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 

+

112 if options is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 for name, value in options.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 mk.config.set_option(name, value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 

+

116 patchers = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 mock.patch("coverage.cmdline."+name, getattr(mk, name)) 

+

118 for name in self.MOCK_GLOBALS 

+

119 ] 

+

120 for patcher in patchers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 patcher.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 ret = command_line(args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 finally: 

+

125 for patcher in patchers: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 patcher.stop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 

+

128 return mk, ret 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 

+

130 def cmd_executes( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 self, 

+

132 args: str, 

+

133 code: str, 

+

134 ret: int = OK, 

+

135 options: Optional[Mapping[str, TConfigValueIn]] = None, 

+

136 ) -> None: 

+

137 """Assert that the `args` end up executing the sequence in `code`.""" 

+

138 called, status = self.mock_command_line(args, options=options) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 assert status == ret, f"Wrong status: got {status!r}, wanted {ret!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 

+

141 # Remove all indentation, and execute with mock globals 

+

142 code = textwrap.dedent(code) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 expected = self.model_object() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 globs = {n: getattr(expected, n) for n in self.MOCK_GLOBALS} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 code_obj = compile(code, "<code>", "exec", dont_inherit=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 eval(code_obj, globs, {}) # pylint: disable=eval-used 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148 # Many of our functions take a lot of arguments, and cmdline.py 

+

149 # calls them with many. But most of them are just the defaults, which 

+

150 # we don't want to have to repeat in all tests. For each call, apply 

+

151 # the defaults. This lets the tests just mention the interesting ones. 

+

152 for name, _, kwargs in expected.mock_calls: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 for k, v in self.DEFAULT_KWARGS.get(name, {}).items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 kwargs.setdefault(k, v) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 

+

156 self.assert_same_mock_calls(expected, called) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 

+

158 def cmd_executes_same(self, args1: str, args2: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 """Assert that the `args1` executes the same as `args2`.""" 

+

160 m1, r1 = self.mock_command_line(args1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 m2, r2 = self.mock_command_line(args2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 assert r1 == r2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 self.assert_same_mock_calls(m1, m2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 

+

165 def assert_same_mock_calls(self, m1: mock.Mock, m2: mock.Mock) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 """Assert that `m1.mock_calls` and `m2.mock_calls` are the same.""" 

+

167 # Use a real equality comparison, but if it fails, use a nicer assert 

+

168 # so we can tell what's going on. We have to use the real == first due 

+

169 # to CmdOptionParser.__eq__ 

+

170 if m1.mock_calls != m2.mock_calls: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 pp1 = pprint.pformat(m1.mock_calls) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 pp2 = pprint.pformat(m2.mock_calls) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 assert pp1+'\n' == pp2+'\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 

+

175 def cmd_help( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 self, 

+

177 args: str, 

+

178 help_msg: Optional[str] = None, 

+

179 topic: Optional[str] = None, 

+

180 ret: int = ERR, 

+

181 ) -> None: 

+

182 """Run a command line, and check that it prints the right help. 

+

183 

+

184 Only the last function call in the mock is checked, which should be the 

+

185 help message that we want to see. 

+

186 

+

187 """ 

+

188 mk, status = self.mock_command_line(args) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 assert status == ret, f"Wrong status: got {status}, wanted {ret}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 if help_msg: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 assert mk.mock_calls[-1] == ('show_help', (help_msg,), {}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 else: 

+

193 assert mk.mock_calls[-1] == ('show_help', (), {'topic': topic}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 

+

195 

+

196class BaseCmdLineTestTest(BaseCmdLineTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 """Tests that our BaseCmdLineTest helpers work.""" 

+

198 def test_cmd_executes_same(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 # All the other tests here use self.cmd_executes_same in successful 

+

200 # ways, so here we just check that it fails. 

+

201 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 self.cmd_executes_same("run", "debug") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 

+

204 

+

205class CmdLineTest(BaseCmdLineTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 """Tests of the coverage.py command line.""" 

+

207 

+

208 def test_annotate(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 # coverage annotate [-d DIR] [-i] [--omit DIR,...] [FILE1 FILE2 ...] 

+

210 self.cmd_executes("annotate", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 cov = Coverage() 

+

212 cov.load() 

+

213 cov.annotate() 

+

214 """) 

+

215 self.cmd_executes("annotate -d dir1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 cov = Coverage() 

+

217 cov.load() 

+

218 cov.annotate(directory="dir1") 

+

219 """) 

+

220 self.cmd_executes("annotate -i", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 cov = Coverage() 

+

222 cov.load() 

+

223 cov.annotate(ignore_errors=True) 

+

224 """) 

+

225 self.cmd_executes("annotate --omit fooey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 cov = Coverage(omit=["fooey"]) 

+

227 cov.load() 

+

228 cov.annotate(omit=["fooey"]) 

+

229 """) 

+

230 self.cmd_executes("annotate --omit fooey,booey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 cov = Coverage(omit=["fooey", "booey"]) 

+

232 cov.load() 

+

233 cov.annotate(omit=["fooey", "booey"]) 

+

234 """) 

+

235 self.cmd_executes("annotate mod1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 cov = Coverage() 

+

237 cov.load() 

+

238 cov.annotate(morfs=["mod1"]) 

+

239 """) 

+

240 self.cmd_executes("annotate mod1 mod2 mod3", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 cov = Coverage() 

+

242 cov.load() 

+

243 cov.annotate(morfs=["mod1", "mod2", "mod3"]) 

+

244 """) 

+

245 

+

246 def test_combine(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 # coverage combine with args 

+

248 self.cmd_executes("combine datadir1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 cov = Coverage() 

+

250 cov.combine(["datadir1"], strict=True, keep=False) 

+

251 cov.save() 

+

252 """) 

+

253 # coverage combine, appending 

+

254 self.cmd_executes("combine --append datadir1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 cov = Coverage() 

+

256 cov.load() 

+

257 cov.combine(["datadir1"], strict=True, keep=False) 

+

258 cov.save() 

+

259 """) 

+

260 # coverage combine without args 

+

261 self.cmd_executes("combine", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 cov = Coverage() 

+

263 cov.combine(None, strict=True, keep=False) 

+

264 cov.save() 

+

265 """) 

+

266 # coverage combine quietly 

+

267 self.cmd_executes("combine -q", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 cov = Coverage(messages=False) 

+

269 cov.combine(None, strict=True, keep=False) 

+

270 cov.save() 

+

271 """) 

+

272 self.cmd_executes("combine --quiet", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 cov = Coverage(messages=False) 

+

274 cov.combine(None, strict=True, keep=False) 

+

275 cov.save() 

+

276 """) 

+

277 self.cmd_executes("combine --data-file=foo.cov", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 cov = Coverage(data_file="foo.cov") 

+

279 cov.combine(None, strict=True, keep=False) 

+

280 cov.save() 

+

281 """) 

+

282 

+

283 def test_combine_doesnt_confuse_options_with_args(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 # https://github.com/nedbat/coveragepy/issues/385 

+

285 self.cmd_executes("combine --rcfile cov.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 cov = Coverage(config_file='cov.ini') 

+

287 cov.combine(None, strict=True, keep=False) 

+

288 cov.save() 

+

289 """) 

+

290 self.cmd_executes("combine --rcfile cov.ini data1 data2/more", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 cov = Coverage(config_file='cov.ini') 

+

292 cov.combine(["data1", "data2/more"], strict=True, keep=False) 

+

293 cov.save() 

+

294 """) 

+

295 

+

296 @pytest.mark.parametrize("cmd, output", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 ("debug", "What information would you like: config, data, sys, premain, pybehave?"), 

+

298 ("debug foo", "Don't know what you mean by 'foo'"), 

+

299 ("debug sys config", "Only one topic at a time, please"), 

+

300 ]) 

+

301 def test_debug(self, cmd: str, output: str) -> None: 

+

302 self.cmd_help(cmd, output) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 

+

304 def test_debug_sys(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 self.command_line("debug sys") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 assert "version:" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 assert "data_file:" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 

+

310 def test_debug_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 self.command_line("debug config") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 assert "cover_pylib:" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 assert "skip_covered:" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 assert "skip_empty:" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 

+

317 def test_debug_pybehave(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 self.command_line("debug pybehave") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 assert " CPYTHON:" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 assert " PYVERSION:" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 assert " pep626:" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 

+

324 # Some things that shouldn't appear.. 

+

325 assert "typing." not in out # import from typing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 assert ": <" not in out # objects without a good repr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 

+

328 # It should report PYVERSION correctly. 

+

329 pyversion = re_line(r" PYVERSION:", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

330 vtuple = ast.literal_eval(pyversion.partition(":")[-1].strip()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 assert vtuple[:5] == sys.version_info 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 

+

333 def test_debug_premain(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 self.command_line("debug premain") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 # ... many lines ... 

+

337 # pytest_pyfunc_call : /Users/ned/cov/trunk/.tox/py39/site-packages/_pytest/python.py:183 

+

338 # test_debug_premain : /Users/ned/cov/trunk/tests/test_cmdline.py:284 

+

339 # command_line : /Users/ned/cov/trunk/tests/coveragetest.py:309 

+

340 # command_line : /Users/ned/cov/trunk/tests/coveragetest.py:472 

+

341 # command_line : /Users/ned/cov/trunk/coverage/cmdline.py:592 

+

342 # do_debug : /Users/ned/cov/trunk/coverage/cmdline.py:804 

+

343 assert re.search(r"(?m)^\s+test_debug_premain : .*[/\\]tests[/\\]test_cmdline.py:\d+$", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 assert re.search(r"(?m)^\s+command_line : .*[/\\]coverage[/\\]cmdline.py:\d+$", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 assert re.search(r"(?m)^\s+do_debug : .*[/\\]coverage[/\\]cmdline.py:\d+$", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 

+

347 def test_erase(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 # coverage erase 

+

349 self.cmd_executes("erase", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 cov = Coverage() 

+

351 cov.erase() 

+

352 """) 

+

353 self.cmd_executes("erase --data-file=foo.cov", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 cov = Coverage(data_file="foo.cov") 

+

355 cov.erase() 

+

356 """) 

+

357 

+

358 def test_version(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 # coverage --version 

+

360 self.cmd_help("--version", topic="version", ret=OK) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 

+

362 def test_help_option(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 # coverage -h 

+

364 self.cmd_help("-h", topic="help", ret=OK) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 self.cmd_help("--help", topic="help", ret=OK) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 

+

367 def test_help_command(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

368 self.cmd_executes("help", "show_help(topic='help')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 

+

370 def test_cmd_help(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 self.cmd_executes("run --help", "show_help(parser='<CmdOptionParser:run>')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 self.cmd_executes_same("help run", "run --help") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 

+

374 def test_html(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 # coverage html -d DIR [-i] [--omit DIR,...] [FILE1 FILE2 ...] 

+

376 self.cmd_executes("html", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 cov = Coverage() 

+

378 cov.load() 

+

379 cov.html_report() 

+

380 """) 

+

381 self.cmd_executes("html -d dir1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 cov = Coverage() 

+

383 cov.load() 

+

384 cov.html_report(directory="dir1") 

+

385 """) 

+

386 self.cmd_executes("html -i", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 cov = Coverage() 

+

388 cov.load() 

+

389 cov.html_report(ignore_errors=True) 

+

390 """) 

+

391 self.cmd_executes("html --omit fooey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

392 cov = Coverage(omit=["fooey"]) 

+

393 cov.load() 

+

394 cov.html_report(omit=["fooey"]) 

+

395 """) 

+

396 self.cmd_executes("html --omit fooey,booey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 cov = Coverage(omit=["fooey", "booey"]) 

+

398 cov.load() 

+

399 cov.html_report(omit=["fooey", "booey"]) 

+

400 """) 

+

401 self.cmd_executes("html mod1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 cov = Coverage() 

+

403 cov.load() 

+

404 cov.html_report(morfs=["mod1"]) 

+

405 """) 

+

406 self.cmd_executes("html mod1 mod2 mod3", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 cov = Coverage() 

+

408 cov.load() 

+

409 cov.html_report(morfs=["mod1", "mod2", "mod3"]) 

+

410 """) 

+

411 self.cmd_executes("html --precision=3", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

412 cov = Coverage() 

+

413 cov.load() 

+

414 cov.html_report(precision=3) 

+

415 """) 

+

416 self.cmd_executes("html --title=Hello_there", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 cov = Coverage() 

+

418 cov.load() 

+

419 cov.html_report(title='Hello_there') 

+

420 """) 

+

421 self.cmd_executes("html -q", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 cov = Coverage(messages=False) 

+

423 cov.load() 

+

424 cov.html_report() 

+

425 """) 

+

426 self.cmd_executes("html --quiet", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 cov = Coverage(messages=False) 

+

428 cov.load() 

+

429 cov.html_report() 

+

430 """) 

+

431 

+

432 def test_json(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 # coverage json [-i] [--omit DIR,...] [FILE1 FILE2 ...] 

+

434 self.cmd_executes("json", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

435 cov = Coverage() 

+

436 cov.load() 

+

437 cov.json_report() 

+

438 """) 

+

439 self.cmd_executes("json --pretty-print", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 cov = Coverage() 

+

441 cov.load() 

+

442 cov.json_report(pretty_print=True) 

+

443 """) 

+

444 self.cmd_executes("json --pretty-print --show-contexts", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 cov = Coverage() 

+

446 cov.load() 

+

447 cov.json_report(pretty_print=True, show_contexts=True) 

+

448 """) 

+

449 self.cmd_executes("json -i", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 cov = Coverage() 

+

451 cov.load() 

+

452 cov.json_report(ignore_errors=True) 

+

453 """) 

+

454 self.cmd_executes("json -o myjson.foo", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 cov = Coverage() 

+

456 cov.load() 

+

457 cov.json_report(outfile="myjson.foo") 

+

458 """) 

+

459 self.cmd_executes("json -o -", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 cov = Coverage() 

+

461 cov.load() 

+

462 cov.json_report(outfile="-") 

+

463 """) 

+

464 self.cmd_executes("json --omit fooey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

465 cov = Coverage(omit=["fooey"]) 

+

466 cov.load() 

+

467 cov.json_report(omit=["fooey"]) 

+

468 """) 

+

469 self.cmd_executes("json --omit fooey,booey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 cov = Coverage(omit=["fooey", "booey"]) 

+

471 cov.load() 

+

472 cov.json_report(omit=["fooey", "booey"]) 

+

473 """) 

+

474 self.cmd_executes("json mod1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 cov = Coverage() 

+

476 cov.load() 

+

477 cov.json_report(morfs=["mod1"]) 

+

478 """) 

+

479 self.cmd_executes("json mod1 mod2 mod3", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 cov = Coverage() 

+

481 cov.load() 

+

482 cov.json_report(morfs=["mod1", "mod2", "mod3"]) 

+

483 """) 

+

484 self.cmd_executes("json -q", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

485 cov = Coverage(messages=False) 

+

486 cov.load() 

+

487 cov.json_report() 

+

488 """) 

+

489 self.cmd_executes("json --quiet", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 cov = Coverage(messages=False) 

+

491 cov.load() 

+

492 cov.json_report() 

+

493 """) 

+

494 

+

495 def test_lcov(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

496 # coverage lcov [-i] [--omit DIR,...] [FILE1 FILE2 ...] 

+

497 self.cmd_executes("lcov", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 cov = Coverage() 

+

499 cov.load() 

+

500 cov.lcov_report() 

+

501 """) 

+

502 self.cmd_executes("lcov -i", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 cov = Coverage() 

+

504 cov.load() 

+

505 cov.lcov_report(ignore_errors=True) 

+

506 """) 

+

507 self.cmd_executes("lcov -o mylcov.foo", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 cov = Coverage() 

+

509 cov.load() 

+

510 cov.lcov_report(outfile="mylcov.foo") 

+

511 """) 

+

512 self.cmd_executes("lcov -o -", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 cov = Coverage() 

+

514 cov.load() 

+

515 cov.lcov_report(outfile="-") 

+

516 """) 

+

517 self.cmd_executes("lcov --omit fooey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

518 cov = Coverage(omit=["fooey"]) 

+

519 cov.load() 

+

520 cov.lcov_report(omit=["fooey"]) 

+

521 """) 

+

522 self.cmd_executes("lcov --omit fooey,booey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 cov = Coverage(omit=["fooey", "booey"]) 

+

524 cov.load() 

+

525 cov.lcov_report(omit=["fooey", "booey"]) 

+

526 """) 

+

527 self.cmd_executes("lcov -q", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

528 cov = Coverage(messages=False) 

+

529 cov.load() 

+

530 cov.lcov_report() 

+

531 """) 

+

532 self.cmd_executes("lcov --quiet", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 cov = Coverage(messages=False) 

+

534 cov.load() 

+

535 cov.lcov_report() 

+

536 """) 

+

537 

+

538 def test_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 # coverage report [-m] [-i] [-o DIR,...] [FILE1 FILE2 ...] 

+

540 self.cmd_executes("report", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

541 cov = Coverage() 

+

542 cov.load() 

+

543 cov.report(show_missing=None) 

+

544 """) 

+

545 self.cmd_executes("report -i", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 cov = Coverage() 

+

547 cov.load() 

+

548 cov.report(ignore_errors=True) 

+

549 """) 

+

550 self.cmd_executes("report -m", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 cov = Coverage() 

+

552 cov.load() 

+

553 cov.report(show_missing=True) 

+

554 """) 

+

555 self.cmd_executes("report --omit fooey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

556 cov = Coverage(omit=["fooey"]) 

+

557 cov.load() 

+

558 cov.report(omit=["fooey"]) 

+

559 """) 

+

560 self.cmd_executes("report --omit fooey,booey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

561 cov = Coverage(omit=["fooey", "booey"]) 

+

562 cov.load() 

+

563 cov.report(omit=["fooey", "booey"]) 

+

564 """) 

+

565 self.cmd_executes("report mod1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 cov = Coverage() 

+

567 cov.load() 

+

568 cov.report(morfs=["mod1"]) 

+

569 """) 

+

570 self.cmd_executes("report mod1 mod2 mod3", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

571 cov = Coverage() 

+

572 cov.load() 

+

573 cov.report(morfs=["mod1", "mod2", "mod3"]) 

+

574 """) 

+

575 self.cmd_executes("report --precision=7", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

576 cov = Coverage() 

+

577 cov.load() 

+

578 cov.report(precision=7) 

+

579 """) 

+

580 self.cmd_executes("report --skip-covered", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 cov = Coverage() 

+

582 cov.load() 

+

583 cov.report(skip_covered=True) 

+

584 """) 

+

585 self.cmd_executes("report --skip-covered --no-skip-covered", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

586 cov = Coverage() 

+

587 cov.load() 

+

588 cov.report(skip_covered=False) 

+

589 """) 

+

590 self.cmd_executes("report --no-skip-covered", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 cov = Coverage() 

+

592 cov.load() 

+

593 cov.report(skip_covered=False) 

+

594 """) 

+

595 self.cmd_executes("report --skip-empty", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

596 cov = Coverage() 

+

597 cov.load() 

+

598 cov.report(skip_empty=True) 

+

599 """) 

+

600 self.cmd_executes("report --contexts=foo,bar", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

601 cov = Coverage() 

+

602 cov.load() 

+

603 cov.report(contexts=["foo", "bar"]) 

+

604 """) 

+

605 self.cmd_executes("report --sort=-foo", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 cov = Coverage() 

+

607 cov.load() 

+

608 cov.report(sort='-foo') 

+

609 """) 

+

610 self.cmd_executes("report --data-file=foo.cov.2", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

611 cov = Coverage(data_file="foo.cov.2") 

+

612 cov.load() 

+

613 cov.report(show_missing=None) 

+

614 """) 

+

615 self.cmd_executes("report --format=markdown", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

616 cov = Coverage() 

+

617 cov.load() 

+

618 cov.report(output_format="markdown") 

+

619 """) 

+

620 

+

621 def test_run(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

622 # coverage run [-p] [-L] [--timid] MODULE.py [ARG1 ARG2 ...] 

+

623 

+

624 # run calls coverage.erase first. 

+

625 self.cmd_executes("run foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

626 cov = Coverage() 

+

627 runner = PyRunner(['foo.py'], as_module=False) 

+

628 runner.prepare() 

+

629 cov.start() 

+

630 runner.run() 

+

631 cov.stop() 

+

632 cov.save() 

+

633 """) 

+

634 # run -a combines with an existing data file before saving. 

+

635 self.cmd_executes("run -a foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

636 cov = Coverage() 

+

637 runner = PyRunner(['foo.py'], as_module=False) 

+

638 runner.prepare() 

+

639 cov.load() 

+

640 cov.start() 

+

641 runner.run() 

+

642 cov.stop() 

+

643 cov.save() 

+

644 """) 

+

645 # --timid sets a flag, and program arguments get passed through. 

+

646 self.cmd_executes("run --timid foo.py abc 123", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

647 cov = Coverage(timid=True) 

+

648 runner = PyRunner(['foo.py', 'abc', '123'], as_module=False) 

+

649 runner.prepare() 

+

650 cov.start() 

+

651 runner.run() 

+

652 cov.stop() 

+

653 cov.save() 

+

654 """) 

+

655 # -L sets a flag, and flags for the program don't confuse us. 

+

656 self.cmd_executes("run -p -L foo.py -a -b", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 cov = Coverage(cover_pylib=True, data_suffix=True) 

+

658 runner = PyRunner(['foo.py', '-a', '-b'], as_module=False) 

+

659 runner.prepare() 

+

660 cov.start() 

+

661 runner.run() 

+

662 cov.stop() 

+

663 cov.save() 

+

664 """) 

+

665 self.cmd_executes("run --branch foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

666 cov = Coverage(branch=True) 

+

667 runner = PyRunner(['foo.py'], as_module=False) 

+

668 runner.prepare() 

+

669 cov.start() 

+

670 runner.run() 

+

671 cov.stop() 

+

672 cov.save() 

+

673 """) 

+

674 self.cmd_executes("run --rcfile=myrc.rc foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 cov = Coverage(config_file="myrc.rc") 

+

676 runner = PyRunner(['foo.py'], as_module=False) 

+

677 runner.prepare() 

+

678 cov.start() 

+

679 runner.run() 

+

680 cov.stop() 

+

681 cov.save() 

+

682 """) 

+

683 self.cmd_executes("run --include=pre1,pre2 foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

684 cov = Coverage(include=["pre1", "pre2"]) 

+

685 runner = PyRunner(['foo.py'], as_module=False) 

+

686 runner.prepare() 

+

687 cov.start() 

+

688 runner.run() 

+

689 cov.stop() 

+

690 cov.save() 

+

691 """) 

+

692 self.cmd_executes("run --omit=opre1,opre2 foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

693 cov = Coverage(omit=["opre1", "opre2"]) 

+

694 runner = PyRunner(['foo.py'], as_module=False) 

+

695 runner.prepare() 

+

696 cov.start() 

+

697 runner.run() 

+

698 cov.stop() 

+

699 cov.save() 

+

700 """) 

+

701 self.cmd_executes("run --include=pre1,pre2 --omit=opre1,opre2 foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

702 cov = Coverage(include=["pre1", "pre2"], omit=["opre1", "opre2"]) 

+

703 runner = PyRunner(['foo.py'], as_module=False) 

+

704 runner.prepare() 

+

705 cov.start() 

+

706 runner.run() 

+

707 cov.stop() 

+

708 cov.save() 

+

709 """) 

+

710 self.cmd_executes("run --source=quux,hi.there,/home/bar foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

711 cov = Coverage(source=["quux", "hi.there", "/home/bar"]) 

+

712 runner = PyRunner(['foo.py'], as_module=False) 

+

713 runner.prepare() 

+

714 cov.start() 

+

715 runner.run() 

+

716 cov.stop() 

+

717 cov.save() 

+

718 """) 

+

719 self.cmd_executes("run --concurrency=gevent foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

720 cov = Coverage(concurrency=['gevent']) 

+

721 runner = PyRunner(['foo.py'], as_module=False) 

+

722 runner.prepare() 

+

723 cov.start() 

+

724 runner.run() 

+

725 cov.stop() 

+

726 cov.save() 

+

727 """) 

+

728 self.cmd_executes("run --concurrency=multiprocessing foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

729 cov = Coverage(concurrency=['multiprocessing']) 

+

730 runner = PyRunner(['foo.py'], as_module=False) 

+

731 runner.prepare() 

+

732 cov.start() 

+

733 runner.run() 

+

734 cov.stop() 

+

735 cov.save() 

+

736 """) 

+

737 self.cmd_executes("run --concurrency=gevent,thread foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

738 cov = Coverage(concurrency=['gevent', 'thread']) 

+

739 runner = PyRunner(['foo.py'], as_module=False) 

+

740 runner.prepare() 

+

741 cov.start() 

+

742 runner.run() 

+

743 cov.stop() 

+

744 cov.save() 

+

745 """) 

+

746 self.cmd_executes("run --data-file=output.coverage foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

747 cov = Coverage(data_file="output.coverage") 

+

748 runner = PyRunner(['foo.py'], as_module=False) 

+

749 runner.prepare() 

+

750 cov.start() 

+

751 runner.run() 

+

752 cov.stop() 

+

753 cov.save() 

+

754 """) 

+

755 

+

756 def test_multiprocessing_needs_config_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 # You can't use command-line args to add options to multiprocessing 

+

758 # runs, since they won't make it to the subprocesses. You need to use a 

+

759 # config file. 

+

760 self.command_line("run --concurrency=multiprocessing --branch foo.py", ret=ERR) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

761 msg = "Options affecting multiprocessing must only be specified in a configuration file." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

762 _, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

763 assert msg in err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

764 assert "Remove --branch from the command line." in err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

765 

+

766 def test_run_debug(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

767 self.cmd_executes("run --debug=opt1 foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

768 cov = Coverage(debug=["opt1"]) 

+

769 runner = PyRunner(['foo.py'], as_module=False) 

+

770 runner.prepare() 

+

771 cov.start() 

+

772 runner.run() 

+

773 cov.stop() 

+

774 cov.save() 

+

775 """) 

+

776 self.cmd_executes("run --debug=opt1,opt2 foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

777 cov = Coverage(debug=["opt1","opt2"]) 

+

778 runner = PyRunner(['foo.py'], as_module=False) 

+

779 runner.prepare() 

+

780 cov.start() 

+

781 runner.run() 

+

782 cov.stop() 

+

783 cov.save() 

+

784 """) 

+

785 

+

786 def test_run_module(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

787 self.cmd_executes("run -m mymodule", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

788 cov = Coverage() 

+

789 runner = PyRunner(['mymodule'], as_module=True) 

+

790 runner.prepare() 

+

791 cov.start() 

+

792 runner.run() 

+

793 cov.stop() 

+

794 cov.save() 

+

795 """) 

+

796 self.cmd_executes("run -m mymodule -qq arg1 arg2", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

797 cov = Coverage() 

+

798 runner = PyRunner(['mymodule', '-qq', 'arg1', 'arg2'], as_module=True) 

+

799 runner.prepare() 

+

800 cov.start() 

+

801 runner.run() 

+

802 cov.stop() 

+

803 cov.save() 

+

804 """) 

+

805 self.cmd_executes("run --branch -m mymodule", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

806 cov = Coverage(branch=True) 

+

807 runner = PyRunner(['mymodule'], as_module=True) 

+

808 runner.prepare() 

+

809 cov.start() 

+

810 runner.run() 

+

811 cov.stop() 

+

812 cov.save() 

+

813 """) 

+

814 self.cmd_executes_same("run -m mymodule", "run --module mymodule") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

815 

+

816 def test_run_nothing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

817 self.command_line("run", ret=ERR) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

818 assert "Nothing to do" in self.stderr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

819 

+

820 def test_run_from_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

821 options = {"run:command_line": "myprog.py a 123 'a quoted thing' xyz"} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

822 self.cmd_executes("run", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

823 cov = Coverage() 

+

824 runner = PyRunner(['myprog.py', 'a', '123', 'a quoted thing', 'xyz'], as_module=False) 

+

825 runner.prepare() 

+

826 cov.start() 

+

827 runner.run() 

+

828 cov.stop() 

+

829 cov.save() 

+

830 """, 

+

831 options=options, 

+

832 ) 

+

833 

+

834 def test_run_module_from_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

835 self.cmd_executes("run", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

836 cov = Coverage() 

+

837 runner = PyRunner(['mymodule', 'thing1', 'thing2'], as_module=True) 

+

838 runner.prepare() 

+

839 cov.start() 

+

840 runner.run() 

+

841 cov.stop() 

+

842 cov.save() 

+

843 """, 

+

844 options={"run:command_line": "-m mymodule thing1 thing2"}, 

+

845 ) 

+

846 

+

847 def test_run_from_config_but_empty(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

848 self.cmd_executes("run", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

849 cov = Coverage() 

+

850 show_help('Nothing to do.') 

+

851 """, 

+

852 ret=ERR, 

+

853 options={"run:command_line": ""}, 

+

854 ) 

+

855 

+

856 def test_run_dashm_only(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

857 self.cmd_executes("run -m", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

858 cov = Coverage() 

+

859 show_help('No module specified for -m') 

+

860 """, 

+

861 ret=ERR, 

+

862 ) 

+

863 self.cmd_executes("run -m", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

864 cov = Coverage() 

+

865 show_help('No module specified for -m') 

+

866 """, 

+

867 ret=ERR, 

+

868 options={"run:command_line": "myprog.py"} 

+

869 ) 

+

870 

+

871 def test_cant_append_parallel(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

872 self.command_line("run --append --parallel-mode foo.py", ret=ERR) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

873 assert "Can't append to data files in parallel mode." in self.stderr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

874 

+

875 def test_xml(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

876 # coverage xml [-i] [--omit DIR,...] [FILE1 FILE2 ...] 

+

877 self.cmd_executes("xml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

878 cov = Coverage() 

+

879 cov.load() 

+

880 cov.xml_report() 

+

881 """) 

+

882 self.cmd_executes("xml -i", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

883 cov = Coverage() 

+

884 cov.load() 

+

885 cov.xml_report(ignore_errors=True) 

+

886 """) 

+

887 self.cmd_executes("xml -o myxml.foo", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

888 cov = Coverage() 

+

889 cov.load() 

+

890 cov.xml_report(outfile="myxml.foo") 

+

891 """) 

+

892 self.cmd_executes("xml -o -", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

893 cov = Coverage() 

+

894 cov.load() 

+

895 cov.xml_report(outfile="-") 

+

896 """) 

+

897 self.cmd_executes("xml --omit fooey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

898 cov = Coverage(omit=["fooey"]) 

+

899 cov.load() 

+

900 cov.xml_report(omit=["fooey"]) 

+

901 """) 

+

902 self.cmd_executes("xml --omit fooey,booey", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

903 cov = Coverage(omit=["fooey", "booey"]) 

+

904 cov.load() 

+

905 cov.xml_report(omit=["fooey", "booey"]) 

+

906 """) 

+

907 self.cmd_executes("xml mod1", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

908 cov = Coverage() 

+

909 cov.load() 

+

910 cov.xml_report(morfs=["mod1"]) 

+

911 """) 

+

912 self.cmd_executes("xml mod1 mod2 mod3", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

913 cov = Coverage() 

+

914 cov.load() 

+

915 cov.xml_report(morfs=["mod1", "mod2", "mod3"]) 

+

916 """) 

+

917 self.cmd_executes("xml -q", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

918 cov = Coverage(messages=False) 

+

919 cov.load() 

+

920 cov.xml_report() 

+

921 """) 

+

922 self.cmd_executes("xml --quiet", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

923 cov = Coverage(messages=False) 

+

924 cov.load() 

+

925 cov.xml_report() 

+

926 """) 

+

927 

+

928 def test_no_arguments_at_all(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

929 self.cmd_help("", topic="minimum_help", ret=OK) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

930 

+

931 def test_bad_command(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

932 self.cmd_help("xyzzy", "Unknown command: 'xyzzy'") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

933 

+

934 

+

935class CmdLineWithFilesTest(BaseCmdLineTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

936 """Test the command line in ways that need temp files.""" 

+

937 

+

938 run_in_temp_dir = True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

939 

+

940 def test_debug_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

941 data = self.make_data_file( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

942 lines={ 

+

943 "file1.py": range(1, 18), 

+

944 "file2.py": range(1, 24), 

+

945 }, 

+

946 file_tracers={"file1.py": "a_plugin"}, 

+

947 ) 

+

948 

+

949 self.command_line("debug data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

950 assert self.stdout() == textwrap.dedent(f"""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

951 -- data ------------------------------------------------------ 

+

952 path: {data.data_filename()} 

+

953 has_arcs: False 

+

954 2 files: 

+

955 file1.py: 17 lines [a_plugin] 

+

956 file2.py: 23 lines 

+

957 """) 

+

958 

+

959 def test_debug_data_with_no_data_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

960 data = self.make_data_file() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

961 self.command_line("debug data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

962 assert self.stdout() == textwrap.dedent(f"""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

963 -- data ------------------------------------------------------ 

+

964 path: {data.data_filename()} 

+

965 No data collected: file doesn't exist 

+

966 """) 

+

967 

+

968 def test_debug_combinable_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

969 data1 = self.make_data_file(lines={"file1.py": range(1, 18), "file2.py": [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

970 data2 = self.make_data_file(suffix="123", lines={"file2.py": range(1, 10)}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

971 

+

972 self.command_line("debug data") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

973 assert self.stdout() == textwrap.dedent(f"""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

974 -- data ------------------------------------------------------ 

+

975 path: {data1.data_filename()} 

+

976 has_arcs: False 

+

977 2 files: 

+

978 file1.py: 17 lines 

+

979 file2.py: 1 line 

+

980 ----- 

+

981 path: {data2.data_filename()} 

+

982 has_arcs: False 

+

983 1 file: 

+

984 file2.py: 9 lines 

+

985 """) 

+

986 

+

987 

+

988class CmdLineStdoutTest(BaseCmdLineTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

989 """Test the command line with real stdout output.""" 

+

990 

+

991 def test_minimum_help(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

992 self.command_line("") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

993 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

994 assert "Code coverage for Python" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

995 assert out.count("\n") < 4 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

996 

+

997 def test_version(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

998 self.command_line("--version") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

999 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1000 assert "ersion " in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1001 if env.C_TRACER: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1002 assert "with C extension" in out 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

1003 else: 

+

1004 assert "without C extension" in out 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1005 assert out.count("\n") < 4 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1006 

+

1007 def test_help_contains_command_name(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1008 # Command name should be present in help output. 

+

1009 fake_command_path = os_sep("lorem/ipsum/dolor") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1010 expected_command_name = "dolor" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1011 fake_argv = [fake_command_path, "sit", "amet"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1012 with mock.patch.object(sys, 'argv', new=fake_argv): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1013 self.command_line("help") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1014 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1015 assert expected_command_name in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1016 

+

1017 def test_help_contains_command_name_from_package(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1018 # Command package name should be present in help output. 

+

1019 # 

+

1020 # When the main module is actually a package's `__main__` module, the resulting command line 

+

1021 # has the `__main__.py` file's patch as the command name. Instead, the command name should 

+

1022 # be derived from the package name. 

+

1023 

+

1024 fake_command_path = os_sep("lorem/ipsum/dolor/__main__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1025 expected_command_name = "dolor" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1026 fake_argv = [fake_command_path, "sit", "amet"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1027 with mock.patch.object(sys, 'argv', new=fake_argv): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1028 self.command_line("help") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1029 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1030 assert expected_command_name in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1031 

+

1032 def test_help(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1033 self.command_line("help") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1034 lines = self.stdout().splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1035 assert len(lines) > 10 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1036 assert lines[-1] == f"Full documentation is at {__url__}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1037 

+

1038 def test_cmd_help(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1039 self.command_line("help run") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1040 out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1041 lines = out.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1042 assert "<pyfile>" in lines[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1043 assert "--timid" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1044 assert len(lines) > 20 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1045 assert lines[-1] == f"Full documentation is at {__url__}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1046 

+

1047 def test_unknown_topic(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1048 # Should probably be an ERR return, but meh. 

+

1049 self.command_line("help foobar") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1050 lines = self.stdout().splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1051 assert lines[0] == "Don't know topic 'foobar'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1052 assert lines[-1] == f"Full documentation is at {__url__}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1053 

+

1054 def test_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1055 self.command_line("fooey kablooey", ret=ERR) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1056 err = self.stderr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1057 assert "fooey" in err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1058 assert "help" in err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1059 

+

1060 def test_option_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1061 self.command_line("run --fooey", ret=ERR) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1062 err = self.stderr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1063 assert "fooey" in err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1064 assert "help" in err 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1065 

+

1066 def test_doc_url(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1067 assert __url__.startswith("https://coverage.readthedocs.io") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1068 

+

1069 

+

1070class CmdMainTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1071 """Tests of coverage.cmdline.main(), using mocking for isolation.""" 

+

1072 

+

1073 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1074 

+

1075 class CoverageScriptStub: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1076 """A stub for coverage.cmdline.CoverageScript, used by CmdMainTest.""" 

+

1077 

+

1078 def command_line(self, argv: List[str]) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1079 """Stub for command_line, the arg determines what it will do.""" 

+

1080 if argv[0] == 'hello': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1081 print("Hello, world!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1082 elif argv[0] == 'raise': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1083 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1084 raise RuntimeError("oh noes!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1085 except: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1086 raise _ExceptionDuringRun(*sys.exc_info()) from None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1087 elif argv[0] == 'internalraise': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1088 raise ValueError("coverage is broken") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1089 elif argv[0] == 'exit': 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1090 sys.exit(23) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1091 else: 

+

1092 raise AssertionError(f"Bad CoverageScriptStub: {argv!r}") 

+

1093 return 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1094 

+

1095 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1096 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1097 old_CoverageScript = coverage.cmdline.CoverageScript 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1098 coverage.cmdline.CoverageScript = self.CoverageScriptStub # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1099 self.addCleanup(setattr, coverage.cmdline, 'CoverageScript', old_CoverageScript) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1100 

+

1101 def test_normal(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1102 ret = coverage.cmdline.main(['hello']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1103 assert ret == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1104 assert self.stdout() == "Hello, world!\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1105 

+

1106 def test_raise(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1107 ret = coverage.cmdline.main(['raise']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1108 assert ret == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1109 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1110 assert out == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1111 print(err) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1112 err_parts = err.splitlines(keepends=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1113 assert err_parts[0] == 'Traceback (most recent call last):\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1114 assert ' raise RuntimeError("oh noes!")\n' in err_parts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1115 assert err_parts[-1] == 'RuntimeError: oh noes!\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1116 

+

1117 def test_internalraise(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1118 with pytest.raises(ValueError, match="coverage is broken"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1119 coverage.cmdline.main(['internalraise']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1120 

+

1121 def test_exit(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1122 ret = coverage.cmdline.main(['exit']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1123 assert ret == 23 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1124 

+

1125 

+

1126class CoverageReportingFake: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1127 """A fake Coverage.coverage test double for FailUnderTest methods.""" 

+

1128 # pylint: disable=missing-function-docstring 

+

1129 def __init__( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1130 self, 

+

1131 report_result: float, 

+

1132 html_result: float = 0, 

+

1133 xml_result: float = 0, 

+

1134 json_report: float = 0, 

+

1135 lcov_result: float = 0, 

+

1136 ) -> None: 

+

1137 self.config = CoverageConfig() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1138 self.report_result = report_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1139 self.html_result = html_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1140 self.xml_result = xml_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1141 self.json_result = json_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1142 self.lcov_result = lcov_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1143 

+

1144 def set_option(self, optname: str, optvalue: TConfigValueIn) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1145 self.config.set_option(optname, optvalue) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1146 

+

1147 def get_option(self, optname: str) -> TConfigValueOut: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1148 return self.config.get_option(optname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1149 

+

1150 def load(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1151 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1152 

+

1153 def report(self, *args_unused: Any, **kwargs_unused: Any) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1154 return self.report_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1155 

+

1156 def html_report(self, *args_unused: Any, **kwargs_unused: Any) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1157 return self.html_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1158 

+

1159 def xml_report(self, *args_unused: Any, **kwargs_unused: Any) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1160 return self.xml_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1161 

+

1162 def json_report(self, *args_unused: Any, **kwargs_unused: Any) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1163 return self.json_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1164 

+

1165 def lcov_report(self, *args_unused: Any, **kwargs_unused: Any) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1166 return self.lcov_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1167 

+

1168 

+

1169class FailUnderTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1170 """Tests of the --fail-under handling in cmdline.py.""" 

+

1171 

+

1172 @pytest.mark.parametrize("results, fail_under, cmd, ret", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1173 # Command-line switch properly checks the result of reporting functions. 

+

1174 ((20, 30, 40, 50, 60), None, "report --fail-under=19", 0), 

+

1175 ((20, 30, 40, 50, 60), None, "report --fail-under=21", 2), 

+

1176 ((20, 30, 40, 50, 60), None, "html --fail-under=29", 0), 

+

1177 ((20, 30, 40, 50, 60), None, "html --fail-under=31", 2), 

+

1178 ((20, 30, 40, 50, 60), None, "xml --fail-under=39", 0), 

+

1179 ((20, 30, 40, 50, 60), None, "xml --fail-under=41", 2), 

+

1180 ((20, 30, 40, 50, 60), None, "json --fail-under=49", 0), 

+

1181 ((20, 30, 40, 50, 60), None, "json --fail-under=51", 2), 

+

1182 ((20, 30, 40, 50, 60), None, "lcov --fail-under=59", 0), 

+

1183 ((20, 30, 40, 50, 60), None, "lcov --fail-under=61", 2), 

+

1184 # Configuration file setting properly checks the result of reporting. 

+

1185 ((20, 30, 40, 50, 60), 19, "report", 0), 

+

1186 ((20, 30, 40, 50, 60), 21, "report", 2), 

+

1187 ((20, 30, 40, 50, 60), 29, "html", 0), 

+

1188 ((20, 30, 40, 50, 60), 31, "html", 2), 

+

1189 ((20, 30, 40, 50, 60), 39, "xml", 0), 

+

1190 ((20, 30, 40, 50, 60), 41, "xml", 2), 

+

1191 ((20, 30, 40, 50, 60), 49, "json", 0), 

+

1192 ((20, 30, 40, 50, 60), 51, "json", 2), 

+

1193 ((20, 30, 40, 50, 60), 59, "lcov", 0), 

+

1194 ((20, 30, 40, 50, 60), 61, "lcov", 2), 

+

1195 # Command-line overrides configuration. 

+

1196 ((20, 30, 40, 50, 60), 19, "report --fail-under=21", 2), 

+

1197 ]) 

+

1198 def test_fail_under( 

+

1199 self, 

+

1200 results: Tuple[float, float, float, float, float], 

+

1201 fail_under: Optional[float], 

+

1202 cmd: str, 

+

1203 ret: int, 

+

1204 ) -> None: 

+

1205 cov = CoverageReportingFake(*results) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1206 if fail_under is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1207 cov.set_option("report:fail_under", fail_under) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1208 with mock.patch("coverage.cmdline.Coverage", lambda *a,**kw: cov): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1209 self.command_line(cmd, ret) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1210 

+

1211 @pytest.mark.parametrize("result, cmd, ret, msg", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1212 (20.5, "report --fail-under=20.4 --precision=1", 0, ""), 

+

1213 (20.5, "report --fail-under=20.6 --precision=1", 2, 

+

1214 "Coverage failure: total of 20.5 is less than fail-under=20.6\n"), 

+

1215 (20.12345, "report --fail-under=20.1235 --precision=5", 2, 

+

1216 "Coverage failure: total of 20.12345 is less than fail-under=20.12350\n"), 

+

1217 ]) 

+

1218 def test_fail_under_with_precision(self, result: float, cmd: str, ret: int, msg: str) -> None: 

+

1219 cov = CoverageReportingFake(report_result=result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1220 with mock.patch("coverage.cmdline.Coverage", lambda *a,**kw: cov): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1221 self.command_line(cmd, ret) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1222 assert self.stdout() == msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_collector_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_collector_py.html new file mode 100644 index 000000000..4bb74bcdc --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_collector_py.html @@ -0,0 +1,151 @@ + + + + + Coverage for tests/test_collector.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_collector.py: + 100.000% +

+ +

+ 16 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests of coverage/collector.py and other collectors.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from tests.helpers import CheckUniqueFilenames 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15 

+

16class CollectorTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 """Test specific aspects of the collection process.""" 

+

18 

+

19 def test_should_trace_cache(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 # The tracers should only invoke should_trace once for each file name. 

+

21 

+

22 # Make some files that invoke each other. 

+

23 self.make_file("f1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 def f1(x, f): 

+

25 return f(x) 

+

26 """) 

+

27 

+

28 self.make_file("f2.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 import f1 

+

30 

+

31 def func(x): 

+

32 return f1.f1(x, otherfunc) 

+

33 

+

34 def otherfunc(x): 

+

35 return x*x 

+

36 

+

37 for i in range(10): 

+

38 func(i) 

+

39 """) 

+

40 

+

41 # Trace one file, but not the other. CheckUniqueFilenames will assert 

+

42 # that _should_trace hasn't been called twice for the same file. 

+

43 cov = coverage.Coverage(include=["f1.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 should_trace_hook = CheckUniqueFilenames.hook(cov, '_should_trace') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 

+

46 # Import the Python file, executing it. 

+

47 self.start_import_stop(cov, "f2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 # Double-check that our files were checked. 

+

50 abs_files = {os.path.abspath(f) for f in should_trace_hook.filenames} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 assert os.path.abspath("f1.py") in abs_files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 assert os.path.abspath("f2.py") in abs_files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_concurrency_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_concurrency_py.html new file mode 100644 index 000000000..4c5eab223 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_concurrency_py.html @@ -0,0 +1,885 @@ + + + + + Coverage for tests/test_concurrency.py: 99.408% + + + + + +
+
+

+ Coverage for tests/test_concurrency.py: + 99.408% +

+ +

+ 288 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for concurrency libraries.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import multiprocessing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import pathlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import random 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import threading 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16import time 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from types import ModuleType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from typing import Iterable, Optional 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21from flaky import flaky 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.data import line_counts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.exceptions import ConfigError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28from coverage.files import abs_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from coverage.misc import import_local_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 

+

31from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33 

+

34# These libraries aren't always available, we'll skip tests if they aren't. 

+

35 

+

36try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 import eventlet 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38except ImportError: pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 eventlet = None pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 

+

41try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 import gevent 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43except ImportError: pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 gevent = None pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 

+

46try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 import greenlet 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48except ImportError: 

+

49 greenlet = None 

+

50 

+

51 

+

52def measurable_line(l: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 """Is this a line of code coverage will measure? 

+

54 

+

55 Not blank, not a comment, and not "else" 

+

56 """ 

+

57 l = l.strip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 if not l: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 if l.startswith('#'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 if l.startswith('else:'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 return False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66 

+

67def line_count(s: str) -> int: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 """How many measurable lines are in `s`?""" 

+

69 return len(list(filter(measurable_line, s.splitlines()))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 

+

71 

+

72def print_simple_annotation(code: str, linenos: Iterable[int]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 """Print the lines in `code` with X for each line number in `linenos`.""" 

+

74 for lineno, line in enumerate(code.splitlines(), start=1): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 print(" {} {}".format("X" if lineno in linenos else " ", line)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 

+

77 

+

78class LineCountTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 """Test the helpers here.""" 

+

80 

+

81 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 

+

83 def test_line_count(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 CODE = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 # Hey there! 

+

86 x = 1 

+

87 if x: 

+

88 print("hello") 

+

89 else: 

+

90 print("bye") 

+

91 

+

92 print("done") 

+

93 """ 

+

94 

+

95 assert line_count(CODE) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 

+

97 

+

98# The code common to all the concurrency models. 

+

99SUM_RANGE_Q = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 # Above this will be imports defining queue and threading. 

+

101 

+

102 class Producer(threading.Thread): 

+

103 def __init__(self, limit, q): 

+

104 threading.Thread.__init__(self) 

+

105 self.limit = limit 

+

106 self.q = q 

+

107 

+

108 def run(self): 

+

109 for i in range(self.limit): 

+

110 self.q.put(i) 

+

111 self.q.put(None) 

+

112 

+

113 class Consumer(threading.Thread): 

+

114 def __init__(self, q, qresult): 

+

115 threading.Thread.__init__(self) 

+

116 self.q = q 

+

117 self.qresult = qresult 

+

118 

+

119 def run(self): 

+

120 sum = 0 

+

121 while "no peephole".upper(): 

+

122 i = self.q.get() 

+

123 if i is None: 

+

124 break 

+

125 sum += i 

+

126 self.qresult.put(sum) 

+

127 

+

128 def sum_range(limit): 

+

129 q = queue.Queue() 

+

130 qresult = queue.Queue() 

+

131 c = Consumer(q, qresult) 

+

132 p = Producer(limit, q) 

+

133 c.start() 

+

134 p.start() 

+

135 

+

136 p.join() 

+

137 c.join() 

+

138 return qresult.get() 

+

139 

+

140 # Below this will be something using sum_range. 

+

141 """ 

+

142 

+

143PRINT_SUM_RANGE = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 print(sum_range({QLIMIT})) 

+

145 """ 

+

146 

+

147# Import the things to use threads. 

+

148THREAD = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 import threading 

+

150 import queue 

+

151 """ 

+

152 

+

153# Import the things to use eventlet. 

+

154EVENTLET = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 import eventlet.green.threading as threading 

+

156 import eventlet.queue as queue 

+

157 """ 

+

158 

+

159# Import the things to use gevent. 

+

160GEVENT = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 from gevent import monkey 

+

162 monkey.patch_thread() 

+

163 import threading 

+

164 import gevent.queue as queue 

+

165 """ 

+

166 

+

167# Uncomplicated code that doesn't use any of the concurrency stuff, to test 

+

168# the simple case under each of the regimes. 

+

169SIMPLE = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 total = 0 

+

171 for i in range({QLIMIT}): 

+

172 total += i 

+

173 print(total) 

+

174 """ 

+

175 

+

176 

+

177def cant_trace_msg(concurrency: str, the_module: Optional[ModuleType]) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 """What might coverage.py say about a concurrency setting and imported module?""" 

+

179 # In the concurrency choices, "multiprocessing" doesn't count, so remove it. 

+

180 if "multiprocessing" in concurrency: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 parts = concurrency.split(",") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 parts.remove("multiprocessing") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 concurrency = ",".join(parts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 

+

185 if the_module is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 # We don't even have the underlying module installed, we expect 

+

187 # coverage to alert us to this fact. 

+

188 expected_out = ( pypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 f"Couldn't trace with concurrency={concurrency}, the module isn't installed.\n" 

+

190 ) 

+

191 elif env.C_TRACER or concurrency == "thread" or concurrency == "": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 expected_out = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 else: 

+

194 expected_out = ( 3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 f"Can't support concurrency={concurrency} with PyTracer, only threads are supported.\n" 

+

196 ) 

+

197 return expected_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 

+

199 

+

200class ConcurrencyTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 """Tests of the concurrency support in coverage.py.""" 

+

202 

+

203 QLIMIT = 1000 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 

+

205 def try_some_code( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

206 self, 

+

207 code: str, 

+

208 concurrency: str, 

+

209 the_module: ModuleType, 

+

210 expected_out: Optional[str] = None, 

+

211 ) -> None: 

+

212 """Run some concurrency testing code and see that it was all covered. 

+

213 

+

214 `code` is the Python code to execute. `concurrency` is the name of 

+

215 the concurrency regime to test it under. `the_module` is the imported 

+

216 module that must be available for this to work at all. `expected_out` 

+

217 is the text we expect the code to produce. 

+

218 

+

219 """ 

+

220 self.make_file("try_it.py", code) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 

+

222 cmd = f"coverage run --concurrency={concurrency} try_it.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 out = self.run_command(cmd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 

+

225 expected_cant_trace = cant_trace_msg(concurrency, the_module) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 

+

227 if expected_cant_trace is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 assert out == expected_cant_trace 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 pytest.skip(f"Can't test: {expected_cant_trace}") 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 else: 

+

231 # We can fully measure the code if we are using the C tracer, which 

+

232 # can support all the concurrency, or if we are using threads. 

+

233 if expected_out is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 expected_out = "%d\n" % (sum(range(self.QLIMIT))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 print(code) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 assert out == expected_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 

+

238 # Read the coverage file and see that try_it.py has all its lines 

+

239 # executed. 

+

240 data = coverage.CoverageData(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 

+

243 # If the test fails, it's helpful to see this info: 

+

244 fname = abs_file("try_it.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 linenos = data.lines(fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 assert linenos is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 print(f"{len(linenos)}: {linenos}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 print_simple_annotation(code, linenos) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 

+

250 lines = line_count(code) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 assert line_counts(data)['try_it.py'] == lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 

+

253 def test_threads(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 code = (THREAD + SUM_RANGE_Q + PRINT_SUM_RANGE).format(QLIMIT=self.QLIMIT) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 self.try_some_code(code, "thread", threading) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 

+

257 def test_threads_simple_code(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 code = SIMPLE.format(QLIMIT=self.QLIMIT) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 self.try_some_code(code, "thread", threading) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 

+

261 def test_eventlet(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 code = (EVENTLET + SUM_RANGE_Q + PRINT_SUM_RANGE).format(QLIMIT=self.QLIMIT) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 self.try_some_code(code, "eventlet", eventlet) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 

+

265 def test_eventlet_simple_code(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 code = SIMPLE.format(QLIMIT=self.QLIMIT) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 self.try_some_code(code, "eventlet", eventlet) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 

+

269 # https://github.com/nedbat/coveragepy/issues/663 

+

270 @pytest.mark.skipif(env.WINDOWS, reason="gevent has problems on Windows: #663") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 def test_gevent(self) -> None: 

+

272 code = (GEVENT + SUM_RANGE_Q + PRINT_SUM_RANGE).format(QLIMIT=self.QLIMIT) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 self.try_some_code(code, "gevent", gevent) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 

+

275 def test_gevent_simple_code(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 code = SIMPLE.format(QLIMIT=self.QLIMIT) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 self.try_some_code(code, "gevent", gevent) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 

+

279 def test_greenlet(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 GREENLET = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 from greenlet import greenlet 

+

282 

+

283 def test1(x, y): 

+

284 z = gr2.switch(x+y) 

+

285 print(z) 

+

286 

+

287 def test2(u): 

+

288 print(u) 

+

289 gr1.switch(42) 

+

290 

+

291 gr1 = greenlet(test1) 

+

292 gr2 = greenlet(test2) 

+

293 gr1.switch("hello", " world") 

+

294 """ 

+

295 self.try_some_code(GREENLET, "greenlet", greenlet, "hello world\n42\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 

+

297 def test_greenlet_simple_code(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 code = SIMPLE.format(QLIMIT=self.QLIMIT) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 self.try_some_code(code, "greenlet", greenlet) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 

+

301 def test_bug_330(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 BUG_330 = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 from weakref import WeakKeyDictionary 

+

304 import eventlet 

+

305 

+

306 def do(): 

+

307 eventlet.sleep(.01) 

+

308 

+

309 gts = WeakKeyDictionary() 

+

310 for _ in range(100): 

+

311 gts[eventlet.spawn(do)] = True 

+

312 eventlet.sleep(.005) 

+

313 

+

314 eventlet.sleep(.1) 

+

315 print(len(gts)) 

+

316 """ 

+

317 self.try_some_code(BUG_330, "eventlet", eventlet, "0\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 

+

319 def test_threads_with_gevent(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 self.make_file("both.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 import queue 

+

322 import threading 

+

323 

+

324 import gevent 

+

325 

+

326 def work1(q): 

+

327 q.put(1) 

+

328 

+

329 def gwork(q): 

+

330 gevent.spawn(work1, q).join() 

+

331 q.put(None) 

+

332 print("done") 

+

333 

+

334 q = queue.Queue() 

+

335 t = threading.Thread(target=gwork, args=(q,)) 

+

336 t.start() 

+

337 t.join() 

+

338 

+

339 answer = q.get() 

+

340 assert answer == 1 

+

341 """) 

+

342 out = self.run_command("coverage run --concurrency=thread,gevent both.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 if gevent is None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 assert out == ( pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 "Couldn't trace with concurrency=gevent, the module isn't installed.\n" 

+

346 ) 

+

347 pytest.skip("Can't run test without gevent installed.") pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 if not env.C_TRACER: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

349 assert out == ( 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

350 "Can't support concurrency=gevent with PyTracer, only threads are supported.\n" 

+

351 ) 

+

352 pytest.skip("Can't run gevent with PyTracer") 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.py

+

353 

+

354 assert out == "done\n" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

355 

+

356 out = self.run_command("coverage report -m") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

357 last_line = self.squeezed_lines(out)[-1] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

358 assert re.search(r"TOTAL \d+ 0 100%", last_line) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

359 

+

360 def test_bad_concurrency(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 with pytest.raises(ConfigError, match="Unknown concurrency choices: nothing"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 self.command_line("run --concurrency=nothing prog.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 

+

364 def test_bad_concurrency_in_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 self.make_file(".coveragerc", "[run]\nconcurrency = nothing\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 with pytest.raises(ConfigError, match="Unknown concurrency choices: nothing"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

367 self.command_line("run prog.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

368 

+

369 def test_no_multiple_light_concurrency(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

370 with pytest.raises(ConfigError, match="Conflicting concurrency settings: eventlet, gevent"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 self.command_line("run --concurrency=gevent,eventlet prog.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 

+

373 def test_no_multiple_light_concurrency_in_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 self.make_file(".coveragerc", "[run]\nconcurrency = gevent, eventlet\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 with pytest.raises(ConfigError, match="Conflicting concurrency settings: eventlet, gevent"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 self.command_line("run prog.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 

+

378 def test_multiprocessing_needs_config_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

379 with pytest.raises(ConfigError, match="multiprocessing requires a configuration file"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

380 self.command_line("run --concurrency=multiprocessing prog.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 

+

382 

+

383class WithoutConcurrencyModuleTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 """Tests of what happens if the requested concurrency isn't installed.""" 

+

385 

+

386 @pytest.mark.parametrize("module", ["eventlet", "gevent", "greenlet"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 def test_missing_module(self, module: str) -> None: 

+

388 self.make_file("prog.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 sys.modules[module] = None # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 msg = f"Couldn't trace with concurrency={module}, the module isn't installed." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

392 self.command_line(f"run --concurrency={module} prog.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 

+

394 

+

395SQUARE_OR_CUBE_WORK = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 def work(x): 

+

397 # Use different lines in different subprocesses. 

+

398 if x % 2: 

+

399 y = x*x 

+

400 else: 

+

401 y = x*x*x 

+

402 return y 

+

403 """ 

+

404 

+

405SUM_RANGE_WORK = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

406 def work(x): 

+

407 return sum_range((x+1)*100) 

+

408 """ 

+

409 

+

410MULTI_CODE = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 # Above this will be a definition of work(). 

+

412 import multiprocessing 

+

413 import os 

+

414 import time 

+

415 import sys 

+

416 

+

417 def process_worker_main(args): 

+

418 # Need to pause, or the tasks go too quickly, and some processes 

+

419 # in the pool don't get any work, and then don't record data. 

+

420 ret = work(*args) 

+

421 time.sleep(0.1) 

+

422 return os.getpid(), ret 

+

423 

+

424 if __name__ == "__main__": # pragma: no branch 

+

425 # This if is on a single line so we can get 100% coverage 

+

426 # even if we have no arguments. 

+

427 if len(sys.argv) > 1: multiprocessing.set_start_method(sys.argv[1]) 

+

428 pool = multiprocessing.Pool({NPROCS}) 

+

429 inputs = [(x,) for x in range({UPTO})] 

+

430 outputs = pool.imap_unordered(process_worker_main, inputs) 

+

431 pids = set() 

+

432 total = 0 

+

433 for pid, sq in outputs: 

+

434 pids.add(pid) 

+

435 total += sq 

+

436 print("%d pids, total = %d" % (len(pids), total)) 

+

437 pool.close() 

+

438 pool.join() 

+

439 """ 

+

440 

+

441 

+

442@pytest.fixture(params=["fork", "spawn"], name="start_method") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443def start_method_fixture(request: pytest.FixtureRequest) -> str: 

+

444 """Parameterized fixture to choose the start_method for multiprocessing.""" 

+

445 start_method: str = request.param 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 if start_method not in multiprocessing.get_all_start_methods(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 # Windows doesn't support "fork". 

+

448 pytest.skip(f"start_method={start_method} not supported here") 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

449 return start_method 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 

+

451 

+

452@flaky(max_runs=30) # Sometimes a test fails due to inherent randomness. Try more times. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453class MultiprocessingTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 """Test support of the multiprocessing module.""" 

+

455 

+

456 def try_multiprocessing_code( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

457 self, 

+

458 code: str, 

+

459 expected_out: Optional[str], 

+

460 the_module: ModuleType, 

+

461 nprocs: int, 

+

462 start_method: str, 

+

463 concurrency: str = "multiprocessing", 

+

464 args: str = "", 

+

465 ) -> None: 

+

466 """Run code using multiprocessing, it should produce `expected_out`.""" 

+

467 self.make_file("multi.py", code) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 self.make_file(".coveragerc", f"""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 [run] 

+

470 concurrency = {concurrency} 

+

471 source = . 

+

472 """) 

+

473 

+

474 cmd = f"coverage run {args} multi.py {start_method}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 out = self.run_command(cmd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

476 expected_cant_trace = cant_trace_msg(concurrency, the_module) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

477 

+

478 if expected_cant_trace is not None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 print(out) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 assert out == expected_cant_trace 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 pytest.skip(f"Can't test: {expected_cant_trace}") 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

482 else: 

+

483 assert out.rstrip() == expected_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 assert len(glob.glob(".coverage.*")) == nprocs + 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

485 

+

486 out = self.run_command("coverage combine") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

487 out_lines = out.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

488 assert len(out_lines) == nprocs + 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

489 assert all( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 re.fullmatch( 

+

491 r"(Combined data file|Skipping duplicate data) \.coverage\..*\.\d+\.\d+", 

+

492 line 

+

493 ) 

+

494 for line in out_lines 

+

495 ) 

+

496 assert len(glob.glob(".coverage.*")) == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 out = self.run_command("coverage report -m") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 

+

499 last_line = self.squeezed_lines(out)[-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

500 assert re.search(r"TOTAL \d+ 0 100%", last_line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

501 

+

502 def test_multiprocessing_simple(self, start_method: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 nprocs = 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 upto = 30 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 code = (SQUARE_OR_CUBE_WORK + MULTI_CODE).format(NPROCS=nprocs, UPTO=upto) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 total = sum(x*x if x%2 else x*x*x for x in range(upto)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 expected_out = f"{nprocs} pids, total = {total}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 self.try_multiprocessing_code( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

509 code, 

+

510 expected_out, 

+

511 threading, 

+

512 nprocs, 

+

513 start_method=start_method, 

+

514 ) 

+

515 

+

516 def test_multiprocessing_append(self, start_method: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

517 nprocs = 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

518 upto = 30 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

519 code = (SQUARE_OR_CUBE_WORK + MULTI_CODE).format(NPROCS=nprocs, UPTO=upto) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

520 total = sum(x*x if x%2 else x*x*x for x in range(upto)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

521 expected_out = f"{nprocs} pids, total = {total}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 self.try_multiprocessing_code( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 code, 

+

524 expected_out, 

+

525 threading, 

+

526 nprocs, 

+

527 args="--append", 

+

528 start_method=start_method, 

+

529 ) 

+

530 

+

531 def test_multiprocessing_and_gevent(self, start_method: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

532 nprocs = 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 upto = 30 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 code = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 SUM_RANGE_WORK + EVENTLET + SUM_RANGE_Q + MULTI_CODE 

+

536 ).format(NPROCS=nprocs, UPTO=upto) 

+

537 total = sum(sum(range((x + 1) * 100)) for x in range(upto)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 expected_out = f"{nprocs} pids, total = {total}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 self.try_multiprocessing_code( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

540 code, 

+

541 expected_out, 

+

542 eventlet, 

+

543 nprocs, 

+

544 concurrency="multiprocessing,eventlet", 

+

545 start_method=start_method, 

+

546 ) 

+

547 

+

548 def test_multiprocessing_with_branching(self, start_method: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

549 nprocs = 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 upto = 30 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 code = (SQUARE_OR_CUBE_WORK + MULTI_CODE).format(NPROCS=nprocs, UPTO=upto) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

552 total = sum(x*x if x%2 else x*x*x for x in range(upto)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 expected_out = f"{nprocs} pids, total = {total}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 self.make_file("multi.py", code) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

555 self.make_file("multi.rc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

556 [run] 

+

557 concurrency = multiprocessing 

+

558 branch = True 

+

559 omit = */site-packages/* 

+

560 """) 

+

561 

+

562 out = self.run_command(f"coverage run --rcfile=multi.rc multi.py {start_method}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 assert out.rstrip() == expected_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

564 

+

565 out = self.run_command("coverage combine -q") # sneak in a test of -q 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 assert out == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

567 out = self.run_command("coverage report -m") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 

+

569 last_line = self.squeezed_lines(out)[-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 assert re.search(r"TOTAL \d+ 0 \d+ 0 100%", last_line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

571 

+

572 def test_multiprocessing_bootstrap_error_handling(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 # An exception during bootstrapping will be reported. 

+

574 self.make_file("multi.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

575 import multiprocessing 

+

576 if __name__ == "__main__": 

+

577 with multiprocessing.Manager(): 

+

578 pass 

+

579 """) 

+

580 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 [run] 

+

582 concurrency = multiprocessing 

+

583 _crash = _bootstrap 

+

584 """) 

+

585 out = self.run_command("coverage run multi.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

586 assert "Exception during multiprocessing bootstrap init" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

587 assert "RuntimeError: Crashing because called by _bootstrap" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 

+

589 def test_bug_890(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

590 # chdir in multiprocessing shouldn't keep us from finding the 

+

591 # .coveragerc file. 

+

592 self.make_file("multi.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 import multiprocessing, os, os.path 

+

594 if __name__ == "__main__": 

+

595 if not os.path.exists("./tmp"): os.mkdir("./tmp") 

+

596 os.chdir("./tmp") 

+

597 with multiprocessing.Manager(): 

+

598 pass 

+

599 print("ok") 

+

600 """) 

+

601 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

602 [run] 

+

603 concurrency = multiprocessing 

+

604 """) 

+

605 out = self.run_command("coverage run multi.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 assert out.splitlines()[-1] == "ok" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

607 

+

608 

+

609def test_coverage_stop_in_threads() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

610 has_started_coverage = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

611 has_stopped_coverage = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

612 

+

613 def run_thread() -> None: # pragma: nested 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

614 """Check that coverage is stopping properly in threads.""" 

+

615 deadline = time.time() + 5 

+

616 ident = threading.current_thread().ident 

+

617 if sys.gettrace() is not None: 

+

618 has_started_coverage.append(ident) 

+

619 while sys.gettrace() is not None: 

+

620 # Wait for coverage to stop 

+

621 time.sleep(0.01) 

+

622 if time.time() > deadline: 

+

623 return 

+

624 has_stopped_coverage.append(ident) 

+

625 

+

626 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

628 

+

629 t = threading.Thread(target=run_thread) # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 t.start() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

631 

+

632 time.sleep(0.1) # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

634 t.join() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

635 

+

636 assert has_started_coverage == [t.ident] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

637 assert has_stopped_coverage == [t.ident] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

638 

+

639 

+

640def test_thread_safe_save_data(tmp_path: pathlib.Path) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

641 # Non-regression test for: https://github.com/nedbat/coveragepy/issues/581 

+

642 

+

643 # Create some Python modules and put them in the path 

+

644 modules_dir = tmp_path / "test_modules" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 modules_dir.mkdir() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 module_names = [f"m{i:03d}" for i in range(1000)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

647 for module_name in module_names: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

648 (modules_dir / (module_name + ".py")).write_text("def f(): pass\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 

+

650 # Shared variables for threads 

+

651 should_run = [True] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

652 imported = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

653 

+

654 old_dir = os.getcwd() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

655 os.chdir(modules_dir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

656 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 # Make sure that all dummy modules can be imported. 

+

658 for module_name in module_names: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

659 import_local_file(module_name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

660 

+

661 def random_load() -> None: # pragma: nested 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

662 """Import modules randomly to stress coverage.""" 

+

663 while should_run[0]: 

+

664 module_name = random.choice(module_names) 

+

665 mod = import_local_file(module_name) 

+

666 mod.f() 

+

667 imported.append(mod) 

+

668 

+

669 # Spawn some threads with coverage enabled and attempt to read the 

+

670 # results right after stopping coverage collection with the threads 

+

671 # still running. 

+

672 duration = 0.01 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

673 for _ in range(3): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

674 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

676 

+

677 threads = [threading.Thread(target=random_load) for _ in range(10)] # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

678 should_run[0] = True # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 for t in threads: # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

680 t.start() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

681 

+

682 time.sleep(duration) # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

683 

+

684 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 

+

686 # The following call used to crash with running background threads. 

+

687 cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

688 

+

689 # Stop the threads 

+

690 should_run[0] = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

691 for t in threads: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

692 t.join() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

693 

+

694 if (not imported) and duration < 10: # pragma: only failure 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

695 duration *= 2 pypy-3.8.ubuntu-latest.py

+

696 

+

697 finally: 

+

698 os.chdir(old_dir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

699 should_run[0] = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

700 

+

701 

+

702@pytest.mark.skipif(env.WINDOWS, reason="SIGTERM doesn't work the same on Windows") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

703@flaky(max_runs=3) # Sometimes a test fails due to inherent randomness. Try more times. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

704class SigtermTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

705 """Tests of our handling of SIGTERM.""" 

+

706 

+

707 @pytest.mark.parametrize("sigterm", [False, True]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

708 def test_sigterm_saves_data(self, sigterm: bool) -> None: 

+

709 # A terminated process should save its coverage data. 

+

710 self.make_file("clobbered.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

711 import multiprocessing 

+

712 import time 

+

713 

+

714 def subproc(x): 

+

715 if x.value == 3: 

+

716 print("THREE", flush=True) # line 6, missed 

+

717 else: 

+

718 print("NOT THREE", flush=True) 

+

719 x.value = 0 

+

720 time.sleep(60) 

+

721 

+

722 if __name__ == "__main__": 

+

723 print("START", flush=True) 

+

724 x = multiprocessing.Value("L", 1) 

+

725 proc = multiprocessing.Process(target=subproc, args=(x,)) 

+

726 proc.start() 

+

727 while x.value != 0: 

+

728 time.sleep(.05) 

+

729 proc.terminate() 

+

730 print("END", flush=True) 

+

731 """) 

+

732 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

733 [run] 

+

734 parallel = True 

+

735 concurrency = multiprocessing 

+

736 """ + ("sigterm = true" if sigterm else "") 

+

737 ) 

+

738 out = self.run_command("coverage run clobbered.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

739 # Under the Python tracer on Linux, we get the "Trace function changed" 

+

740 # message. Does that matter? 

+

741 if "Trace function changed" in out: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

742 lines = out.splitlines(True) 3.9.ubuntu-latest.py3.10.ubuntu-latest.py3.11.ubuntu-latest.py

+

743 assert len(lines) == 5 # "trace function changed" and "self.warn(" 3.9.ubuntu-latest.py3.10.ubuntu-latest.py3.11.ubuntu-latest.py

+

744 out = "".join(lines[:3]) 3.9.ubuntu-latest.py3.10.ubuntu-latest.py3.11.ubuntu-latest.py

+

745 assert out == "START\nNOT THREE\nEND\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

746 self.run_command("coverage combine") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

747 out = self.run_command("coverage report -m") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

748 if sigterm: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

749 expected = "clobbered.py 17 1 94% 6" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

750 else: 

+

751 expected = "clobbered.py 17 5 71% 5-10" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

752 assert self.squeezed_lines(out)[2] == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

753 

+

754 def test_sigterm_still_runs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

755 # A terminated process still runs its own SIGTERM handler. 

+

756 self.make_file("handler.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 import multiprocessing 

+

758 import signal 

+

759 import time 

+

760 

+

761 def subproc(x): 

+

762 print("START", flush=True) 

+

763 def on_sigterm(signum, frame): 

+

764 print("SIGTERM", flush=True) 

+

765 

+

766 signal.signal(signal.SIGTERM, on_sigterm) 

+

767 x.value = 0 

+

768 time.sleep(.1) 

+

769 print("END", flush=True) 

+

770 

+

771 if __name__ == "__main__": 

+

772 x = multiprocessing.Value("L", 1) 

+

773 proc = multiprocessing.Process(target=subproc, args=(x,)) 

+

774 proc.start() 

+

775 while x.value != 0: 

+

776 time.sleep(.02) 

+

777 proc.terminate() 

+

778 """) 

+

779 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

780 [run] 

+

781 parallel = True 

+

782 concurrency = multiprocessing 

+

783 sigterm = True 

+

784 """) 

+

785 out = self.run_command("coverage run handler.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

786 assert out == "START\nSIGTERM\nEND\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_config_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_config_py.html new file mode 100644 index 000000000..0aae641b2 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_config_py.html @@ -0,0 +1,885 @@ + + + + + Coverage for tests/test_config.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_config.py: + 100.000% +

+ +

+ 355 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Test the config file handling for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9from unittest import mock 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage import Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.config import HandyConfigParser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.exceptions import ConfigError, CoverageWarning 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.tomlconfig import TomlConfigParser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.types import FilePathClasses, FilePathType 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20from tests.coveragetest import CoverageTest, UsingModulesMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22 

+

23class ConfigTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 """Tests of the different sources of configuration settings.""" 

+

25 

+

26 def test_default_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 # Just constructing a coverage() object gets the right defaults. 

+

28 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 assert not cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 assert cov.config.data_file == ".coverage" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33 def test_arguments(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 # Arguments to the constructor are applied to the configuration. 

+

35 cov = coverage.Coverage(timid=True, data_file="fooey.dat", concurrency="multiprocessing") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 assert cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 assert cov.config.data_file == "fooey.dat" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 assert cov.config.concurrency == ["multiprocessing"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 

+

41 def test_config_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 # A .coveragerc file will be read into the configuration. 

+

43 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 # This is just a bogus .rc file for testing. 

+

45 [run] 

+

46 timid = True 

+

47 data_file = .hello_kitty.data 

+

48 """) 

+

49 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 assert cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 assert cov.config.data_file == ".hello_kitty.data" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 

+

54 @pytest.mark.parametrize("file_class", FilePathClasses) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 def test_named_config_file(self, file_class: FilePathType) -> None: 

+

56 # You can name the config file what you like. 

+

57 self.make_file("my_cov.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 [run] 

+

59 timid = True 

+

60 ; I wouldn't really use this as a data file... 

+

61 data_file = delete.me 

+

62 """) 

+

63 cov = coverage.Coverage(config_file=file_class("my_cov.ini")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 assert cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 assert cov.config.data_file == "delete.me" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 

+

68 def test_toml_config_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 # A pyproject.toml file will be read into the configuration. 

+

70 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 # This is just a bogus toml file for testing. 

+

72 [tool.somethingelse] 

+

73 authors = ["Joe D'Ávila <joe@gmail.com>"] 

+

74 [tool.coverage.run] 

+

75 concurrency = ["a", "b"] 

+

76 timid = true 

+

77 data_file = ".hello_kitty.data" 

+

78 plugins = ["plugins.a_plugin"] 

+

79 [tool.coverage.report] 

+

80 precision = 3 

+

81 fail_under = 90.5 

+

82 [tool.coverage.html] 

+

83 title = "tabblo & «ταБЬℓσ»" 

+

84 [tool.coverage.plugins.a_plugin] 

+

85 hello = "world" 

+

86 """) 

+

87 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 assert cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 assert cov.config.concurrency == ["a", "b"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 assert cov.config.data_file == ".hello_kitty.data" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 assert cov.config.plugins == ["plugins.a_plugin"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 assert cov.config.precision == 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 assert cov.config.html_title == "tabblo & «ταБЬℓσ»" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 assert cov.config.fail_under == 90.5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 assert cov.config.get_plugin_options("plugins.a_plugin") == {"hello": "world"} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 def test_toml_ints_can_be_floats(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 # Test that our class doesn't reject integers when loading floats 

+

100 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 # This is just a bogus toml file for testing. 

+

102 [tool.coverage.report] 

+

103 fail_under = 90 

+

104 """) 

+

105 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 assert cov.config.fail_under == 90 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 assert isinstance(cov.config.fail_under, float) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 

+

109 def test_ignored_config_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 # You can disable reading the .coveragerc file. 

+

111 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 [run] 

+

113 timid = True 

+

114 data_file = delete.me 

+

115 """) 

+

116 cov = coverage.Coverage(config_file=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 assert not cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 assert cov.config.data_file == ".coverage" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 

+

121 def test_config_file_then_args(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 # The arguments override the .coveragerc file. 

+

123 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 [run] 

+

125 timid = True 

+

126 data_file = weirdo.file 

+

127 """) 

+

128 cov = coverage.Coverage(timid=False, data_file=".mycov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 assert not cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 assert cov.config.data_file == ".mycov" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 

+

133 def test_data_file_from_environment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 # There's an environment variable for the data_file. 

+

135 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 [run] 

+

137 timid = True 

+

138 data_file = weirdo.file 

+

139 """) 

+

140 self.set_environ("COVERAGE_FILE", "fromenv.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 assert cov.config.data_file == "fromenv.dat" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 # But the constructor arguments override the environment variable. 

+

144 cov = coverage.Coverage(data_file="fromarg.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 assert cov.config.data_file == "fromarg.dat" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 

+

147 def test_debug_from_environment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 [run] 

+

150 debug = dataio, pids 

+

151 """) 

+

152 self.set_environ("COVERAGE_DEBUG", "callers, fooey") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 assert cov.config.debug == ["dataio", "pids", "callers", "fooey"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 

+

156 def test_rcfile_from_environment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 self.make_file("here.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 [run] 

+

159 data_file = overthere.dat 

+

160 """) 

+

161 self.set_environ("COVERAGE_RCFILE", "here.ini") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 assert cov.config.data_file == "overthere.dat" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 

+

165 def test_missing_rcfile_from_environment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 self.set_environ("COVERAGE_RCFILE", "nowhere.ini") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 msg = "Couldn't read 'nowhere.ini' as a config file" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 

+

171 @pytest.mark.parametrize("bad_config, msg", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 ("[run]\ntimid = maybe?\n", r"maybe[?]"), 

+

173 ("timid = 1\n", r"no section headers"), 

+

174 ("[run\n", r"\[run"), 

+

175 ("[report]\nexclude_lines = foo(\n", 

+

176 r"Invalid \[report\].exclude_lines value 'foo\(': " + 

+

177 r"(unbalanced parenthesis|missing \))"), 

+

178 ("[report]\npartial_branches = foo[\n", 

+

179 r"Invalid \[report\].partial_branches value 'foo\[': " + 

+

180 r"(unexpected end of regular expression|unterminated character set)"), 

+

181 ("[report]\npartial_branches_always = foo***\n", 

+

182 r"Invalid \[report\].partial_branches_always value " + 

+

183 r"'foo\*\*\*': " + 

+

184 r"multiple repeat"), 

+

185 ]) 

+

186 def test_parse_errors(self, bad_config: str, msg: str) -> None: 

+

187 # Im-parsable values raise ConfigError, with details. 

+

188 self.make_file(".coveragerc", bad_config) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 

+

192 @pytest.mark.parametrize("bad_config, msg", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 ("[tool.coverage.run]\ntimid = \"maybe?\"\n", r"maybe[?]"), 

+

194 ("[tool.coverage.run\n", None), 

+

195 ('[tool.coverage.report]\nexclude_lines = ["foo("]\n', 

+

196 r"Invalid \[tool.coverage.report\].exclude_lines value 'foo\(': " + 

+

197 r"(unbalanced parenthesis|missing \))"), 

+

198 ('[tool.coverage.report]\npartial_branches = ["foo["]\n', 

+

199 r"Invalid \[tool.coverage.report\].partial_branches value 'foo\[': " + 

+

200 r"(unexpected end of regular expression|unterminated character set)"), 

+

201 ('[tool.coverage.report]\npartial_branches_always = ["foo***"]\n', 

+

202 r"Invalid \[tool.coverage.report\].partial_branches_always value " + 

+

203 r"'foo\*\*\*': " + 

+

204 r"multiple repeat"), 

+

205 ('[tool.coverage.run]\nconcurrency="foo"', "not a list"), 

+

206 ("[tool.coverage.report]\nprecision=1.23", "not an integer"), 

+

207 ('[tool.coverage.report]\nfail_under="s"', "couldn't convert to a float"), 

+

208 ]) 

+

209 def test_toml_parse_errors(self, bad_config: str, msg: str) -> None: 

+

210 # Im-parsable values raise ConfigError, with details. 

+

211 self.make_file("pyproject.toml", bad_config) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 

+

215 def test_environment_vars_in_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 # Config files can have $envvars in them. 

+

217 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 [run] 

+

219 data_file = $DATA_FILE.fooey 

+

220 branch = $OKAY 

+

221 [report] 

+

222 exclude_lines = 

+

223 the_$$one 

+

224 another${THING} 

+

225 x${THING}y 

+

226 x${NOTHING}y 

+

227 huh$${X}what 

+

228 """) 

+

229 self.set_environ("DATA_FILE", "hello-world") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 self.set_environ("THING", "ZZZ") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 self.set_environ("OKAY", "yes") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 assert cov.config.data_file == "hello-world.fooey" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 assert cov.config.branch is True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 assert cov.config.exclude_list == ["the_$one", "anotherZZZ", "xZZZy", "xy", "huh${X}what"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 

+

237 def test_environment_vars_in_toml_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 # Config files can have $envvars in them. 

+

239 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 [tool.coverage.run] 

+

241 data_file = "$DATA_FILE.fooey" 

+

242 branch = "$BRANCH" 

+

243 [tool.coverage.report] 

+

244 precision = "$DIGITS" 

+

245 fail_under = "$FAIL_UNDER" 

+

246 exclude_lines = [ 

+

247 "the_$$one", 

+

248 "another${THING}", 

+

249 "x${THING}y", 

+

250 "x${NOTHING}y", 

+

251 "huh$${X}what", 

+

252 ] 

+

253 [othersection] 

+

254 # This reproduces the failure from https://github.com/nedbat/coveragepy/issues/1481 

+

255 # When OTHER has a backslash that isn't a valid escape, like \\z (see below). 

+

256 something = "if [ $OTHER ]; then printf '%s\\n' 'Hi'; fi" 

+

257 """) 

+

258 self.set_environ("BRANCH", "true") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 self.set_environ("DIGITS", "3") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 self.set_environ("FAIL_UNDER", "90.5") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 self.set_environ("DATA_FILE", "hello-world") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 self.set_environ("THING", "ZZZ") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 self.set_environ("OTHER", "hi\\zebra") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 assert cov.config.branch is True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 assert cov.config.precision == 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 assert cov.config.data_file == "hello-world.fooey" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 assert cov.config.exclude_list == ["the_$one", "anotherZZZ", "xZZZy", "xy", "huh${X}what"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 

+

270 def test_tilde_in_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 # Config entries that are file paths can be tilde-expanded. 

+

272 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 [run] 

+

274 data_file = ~/data.file 

+

275 

+

276 [html] 

+

277 directory = ~joe/html_dir 

+

278 

+

279 [xml] 

+

280 output = ~/somewhere/xml.out 

+

281 

+

282 [report] 

+

283 # Strings that aren't file paths are not tilde-expanded. 

+

284 exclude_lines = 

+

285 ~/data.file 

+

286 ~joe/html_dir 

+

287 

+

288 [paths] 

+

289 mapping = 

+

290 ~/src 

+

291 ~joe/source 

+

292 """) 

+

293 def expanduser(s: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 """Fake tilde expansion""" 

+

295 s = s.replace("~/", "/Users/me/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 s = s.replace("~joe/", "/Users/joe/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 return s 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 

+

299 with mock.patch.object(coverage.config.os.path, 'expanduser', new=expanduser): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 assert cov.config.data_file == "/Users/me/data.file" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 assert cov.config.html_dir == "/Users/joe/html_dir" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 assert cov.config.xml_output == "/Users/me/somewhere/xml.out" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 assert cov.config.exclude_list == ["~/data.file", "~joe/html_dir"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 assert cov.config.paths == {'mapping': ['/Users/me/src', '/Users/joe/source']} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 

+

307 def test_tilde_in_toml_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 # Config entries that are file paths can be tilde-expanded. 

+

309 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 [tool.coverage.run] 

+

311 data_file = "~/data.file" 

+

312 

+

313 [tool.coverage.html] 

+

314 directory = "~joe/html_dir" 

+

315 

+

316 [tool.coverage.xml] 

+

317 output = "~/somewhere/xml.out" 

+

318 

+

319 [tool.coverage.report] 

+

320 # Strings that aren't file paths are not tilde-expanded. 

+

321 exclude_lines = [ 

+

322 "~/data.file", 

+

323 "~joe/html_dir", 

+

324 ] 

+

325 """) 

+

326 def expanduser(s: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 """Fake tilde expansion""" 

+

328 s = s.replace("~/", "/Users/me/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 s = s.replace("~joe/", "/Users/joe/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

330 return s 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 

+

332 with mock.patch.object(coverage.config.os.path, 'expanduser', new=expanduser): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 assert cov.config.data_file == "/Users/me/data.file" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 assert cov.config.html_dir == "/Users/joe/html_dir" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 assert cov.config.xml_output == "/Users/me/somewhere/xml.out" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 assert cov.config.exclude_list == ["~/data.file", "~joe/html_dir"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

338 

+

339 def test_tweaks_after_constructor(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 # set_option can be used after construction to affect the config. 

+

341 cov = coverage.Coverage(timid=True, data_file="fooey.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 cov.set_option("run:timid", False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 

+

344 assert not cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 assert cov.config.data_file == "fooey.dat" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

347 

+

348 assert not cov.get_option("run:timid") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 assert not cov.get_option("run:branch") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 assert cov.get_option("run:data_file") == "fooey.dat" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 

+

352 def test_tweaks_paths_after_constructor(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 [paths] 

+

355 first = 

+

356 /first/1 

+

357 /first/2 

+

358 

+

359 second = 

+

360 /second/a 

+

361 /second/b 

+

362 """) 

+

363 old_paths = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 "first": ["/first/1", "/first/2"], 

+

365 "second": ["/second/a", "/second/b"], 

+

366 } 

+

367 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

368 paths = cov.get_option("paths") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 assert paths == old_paths 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

370 

+

371 new_paths = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 "magic": ["src", "ok"], 

+

373 } 

+

374 cov.set_option("paths", new_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 

+

376 assert cov.get_option("paths") == new_paths 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 

+

378 def test_tweak_error_checking(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

379 # Trying to set an unknown config value raises an error. 

+

380 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 with pytest.raises(ConfigError, match="No such option: 'run:xyzzy'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 cov.set_option("run:xyzzy", 12) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

383 with pytest.raises(ConfigError, match="No such option: 'xyzzy:foo'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 cov.set_option("xyzzy:foo", 12) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

385 with pytest.raises(ConfigError, match="No such option: 'run:xyzzy'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 _ = cov.get_option("run:xyzzy") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 with pytest.raises(ConfigError, match="No such option: 'xyzzy:foo'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 _ = cov.get_option("xyzzy:foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 

+

390 def test_tweak_plugin_options(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 # Plugin options have a more flexible syntax. 

+

392 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 cov.set_option("run:plugins", ["fooey.plugin", "xyzzy.coverage.plugin"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

394 cov.set_option("fooey.plugin:xyzzy", 17) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

395 cov.set_option("xyzzy.coverage.plugin:plugh", ["a", "b"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 with pytest.raises(ConfigError, match="No such option: 'no_such.plugin:foo'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 cov.set_option("no_such.plugin:foo", 23) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 

+

399 assert cov.get_option("fooey.plugin:xyzzy") == 17 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 assert cov.get_option("xyzzy.coverage.plugin:plugh") == ["a", "b"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 with pytest.raises(ConfigError, match="No such option: 'no_such.plugin:foo'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 _ = cov.get_option("no_such.plugin:foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 

+

404 def test_unknown_option(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

406 [run] 

+

407 xyzzy = 17 

+

408 """) 

+

409 msg = r"Unrecognized option '\[run\] xyzzy=' in config file .coveragerc" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 with pytest.warns(CoverageWarning, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 _ = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

412 

+

413 def test_unknown_option_toml(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

414 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 [tool.coverage.run] 

+

416 xyzzy = 17 

+

417 """) 

+

418 msg = r"Unrecognized option '\[tool.coverage.run\] xyzzy=' in config file pyproject.toml" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 with pytest.warns(CoverageWarning, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

420 _ = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

421 

+

422 def test_misplaced_option(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

423 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 [report] 

+

425 branch = True 

+

426 """) 

+

427 msg = r"Unrecognized option '\[report\] branch=' in config file .coveragerc" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 with pytest.warns(CoverageWarning, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 _ = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 

+

431 def test_unknown_option_in_other_ini_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 self.make_file("setup.cfg", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 [coverage:run] 

+

434 huh = what? 

+

435 """) 

+

436 msg = r"Unrecognized option '\[coverage:run\] huh=' in config file setup.cfg" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 with pytest.warns(CoverageWarning, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

438 _ = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

439 

+

440 def test_exceptions_from_missing_things(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

441 self.make_file("config.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 [run] 

+

443 branch = True 

+

444 """) 

+

445 config = HandyConfigParser(True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 config.read(["config.ini"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 with pytest.raises(ConfigError, match="No section: 'xyzzy'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 config.options("xyzzy") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 with pytest.raises(ConfigError, match="No option 'foo' in section: 'xyzzy'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 config.get("xyzzy", "foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 

+

452 

+

453class ConfigFileTest(UsingModulesMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 """Tests of the config file settings in particular.""" 

+

455 

+

456 # This sample file tries to use lots of variation of syntax... 

+

457 # The {section} placeholder lets us nest these settings in another file. 

+

458 LOTSA_SETTINGS = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 # This is a settings file for coverage.py 

+

460 [{section}run] 

+

461 timid = yes 

+

462 data_file = something_or_other.dat 

+

463 branch = 1 

+

464 cover_pylib = TRUE 

+

465 parallel = on 

+

466 concurrency = thread 

+

467 ; this omit is overridden by the omit from [report] 

+

468 omit = twenty 

+

469 source = myapp 

+

470 source_pkgs = ned 

+

471 plugins = 

+

472 plugins.a_plugin 

+

473 plugins.another 

+

474 debug = callers, pids , dataio 

+

475 disable_warnings = abcd , efgh 

+

476 

+

477 [{section}report] 

+

478 ; these settings affect reporting. 

+

479 exclude_lines = 

+

480 if 0: 

+

481 

+

482 pragma:?\\s+no cover 

+

483 another_tab 

+

484 

+

485 ignore_errors = TRUE 

+

486 omit = 

+

487 one, another, some_more, 

+

488 yet_more 

+

489 include = thirty 

+

490 precision = 3 

+

491 

+

492 partial_branches = 

+

493 pragma:?\\s+no branch 

+

494 partial_branches_always = 

+

495 if 0: 

+

496 while True: 

+

497 

+

498 show_missing= TruE 

+

499 skip_covered = TruE 

+

500 skip_empty =TruE 

+

501 

+

502 include_namespace_packages = TRUE 

+

503 

+

504 [{section}html] 

+

505 

+

506 directory = c:\\tricky\\dir.somewhere 

+

507 extra_css=something/extra.css 

+

508 title = Title & nums # nums! 

+

509 [{section}xml] 

+

510 output=mycov.xml 

+

511 package_depth = 17 

+

512 

+

513 [{section}paths] 

+

514 source = 

+

515 . 

+

516 /home/ned/src/ 

+

517 

+

518 other = other, /home/ned/other, c:\\Ned\\etc 

+

519 

+

520 [{section}plugins.a_plugin] 

+

521 hello = world 

+

522 ; comments still work. 

+

523 names = Jane/John/Jenny 

+

524 

+

525 [{section}json] 

+

526 pretty_print = True 

+

527 show_contexts = True 

+

528 """ 

+

529 

+

530 # Just some sample setup.cfg text from the docs. 

+

531 SETUP_CFG = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

532 [bdist_rpm] 

+

533 release = 1 

+

534 packager = Jane Packager <janep@pysoft.com> 

+

535 doc_files = CHANGES.txt 

+

536 README.txt 

+

537 USAGE.txt 

+

538 doc/ 

+

539 examples/ 

+

540 """ 

+

541 

+

542 # Just some sample tox.ini text from the docs. 

+

543 TOX_INI = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

544 [tox] 

+

545 envlist = py{26,27,33,34,35}-{c,py}tracer 

+

546 skip_missing_interpreters = True 

+

547 

+

548 [testenv] 

+

549 commands = 

+

550 # Create tests/zipmods.zip 

+

551 python igor.py zip_mods 

+

552 """ 

+

553 

+

554 def assert_config_settings_are_correct(self, cov: Coverage) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

555 """Check that `cov` has all the settings from LOTSA_SETTINGS.""" 

+

556 assert cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

557 assert cov.config.data_file == "something_or_other.dat" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

558 assert cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

559 assert cov.config.cover_pylib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

560 assert cov.config.debug == ["callers", "pids", "dataio"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

561 assert cov.config.parallel 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

562 assert cov.config.concurrency == ["thread"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 assert cov.config.source == ["myapp"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

564 assert cov.config.source_pkgs == ["ned"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 assert cov.config.disable_warnings == ["abcd", "efgh"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 

+

567 assert cov.get_exclude_list() == ["if 0:", r"pragma:?\s+no cover", "another_tab"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 assert cov.config.ignore_errors 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

569 assert cov.config.run_omit == ["twenty"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 assert cov.config.report_omit == ["one", "another", "some_more", "yet_more"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

571 assert cov.config.report_include == ["thirty"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 assert cov.config.precision == 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 

+

574 assert cov.config.partial_list == [r"pragma:?\s+no branch"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

575 assert cov.config.partial_always_list == ["if 0:", "while True:"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

576 assert cov.config.plugins == ["plugins.a_plugin", "plugins.another"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

577 assert cov.config.show_missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

578 assert cov.config.skip_covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 assert cov.config.skip_empty 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

580 assert cov.config.html_dir == r"c:\tricky\dir.somewhere" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 assert cov.config.extra_css == "something/extra.css" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

582 assert cov.config.html_title == "Title & nums # nums!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

583 

+

584 assert cov.config.xml_output == "mycov.xml" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

585 assert cov.config.xml_package_depth == 17 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

586 

+

587 assert cov.config.paths == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 'source': ['.', '/home/ned/src/'], 

+

589 'other': ['other', '/home/ned/other', 'c:\\Ned\\etc'] 

+

590 } 

+

591 

+

592 assert cov.config.get_plugin_options("plugins.a_plugin") == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 'hello': 'world', 

+

594 'names': 'Jane/John/Jenny', 

+

595 } 

+

596 assert cov.config.get_plugin_options("plugins.another") == {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

597 assert cov.config.json_show_contexts is True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

598 assert cov.config.json_pretty_print is True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

599 assert cov.config.include_namespace_packages is True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

600 

+

601 def test_config_file_settings(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

602 self.make_file(".coveragerc", self.LOTSA_SETTINGS.format(section="")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

603 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

604 self.assert_config_settings_are_correct(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

605 

+

606 def check_config_file_settings_in_other_file(self, fname: str, contents: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

607 """Check config will be read from another file, with prefixed sections.""" 

+

608 nested = self.LOTSA_SETTINGS.format(section="coverage:") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

609 fname = self.make_file(fname, nested + "\n" + contents) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

610 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

611 self.assert_config_settings_are_correct(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

612 

+

613 def test_config_file_settings_in_setupcfg(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

614 self.check_config_file_settings_in_other_file("setup.cfg", self.SETUP_CFG) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

615 

+

616 def test_config_file_settings_in_toxini(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 self.check_config_file_settings_in_other_file("tox.ini", self.TOX_INI) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

618 

+

619 def check_other_config_if_coveragerc_specified(self, fname: str, contents: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

620 """Check that config `fname` is read if .coveragerc is missing, but specified.""" 

+

621 nested = self.LOTSA_SETTINGS.format(section="coverage:") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

622 self.make_file(fname, nested + "\n" + contents) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

623 cov = coverage.Coverage(config_file=".coveragerc") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

624 self.assert_config_settings_are_correct(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

625 

+

626 def test_config_file_settings_in_setupcfg_if_coveragerc_specified(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 self.check_other_config_if_coveragerc_specified("setup.cfg", self.SETUP_CFG) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

628 

+

629 def test_config_file_settings_in_tox_if_coveragerc_specified(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 self.check_other_config_if_coveragerc_specified("tox.ini", self.TOX_INI) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

631 

+

632 def check_other_not_read_if_coveragerc(self, fname: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 """Check config `fname` is not read if .coveragerc exists.""" 

+

634 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

635 [run] 

+

636 include = foo 

+

637 """) 

+

638 self.make_file(fname, """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 [coverage:run] 

+

640 omit = bar 

+

641 branch = true 

+

642 """) 

+

643 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

644 assert cov.config.run_include == ["foo"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 assert cov.config.run_omit == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 assert cov.config.branch is False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

647 

+

648 def test_setupcfg_only_if_not_coveragerc(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 self.check_other_not_read_if_coveragerc("setup.cfg") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

650 

+

651 def test_toxini_only_if_not_coveragerc(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

652 self.check_other_not_read_if_coveragerc("tox.ini") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

653 

+

654 def check_other_config_need_prefixes(self, fname: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

655 """Check that `fname` sections won't be read if un-prefixed.""" 

+

656 self.make_file(fname, """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 [run] 

+

658 omit = bar 

+

659 branch = true 

+

660 """) 

+

661 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

662 assert cov.config.run_omit == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

663 assert cov.config.branch is False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

664 

+

665 def test_setupcfg_only_if_prefixed(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

666 self.check_other_config_need_prefixes("setup.cfg") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

667 

+

668 def test_toxini_only_if_prefixed(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

669 self.check_other_config_need_prefixes("tox.ini") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

670 

+

671 def test_tox_ini_even_if_setup_cfg(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

672 # There's a setup.cfg, but no coverage settings in it, so tox.ini 

+

673 # is read. 

+

674 nested = self.LOTSA_SETTINGS.format(section="coverage:") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 self.make_file("tox.ini", self.TOX_INI + "\n" + nested) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

676 self.make_file("setup.cfg", self.SETUP_CFG) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

677 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

678 self.assert_config_settings_are_correct(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 

+

680 def test_read_prefixed_sections_from_explicit_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

681 # You can point to a tox.ini, and it will find [coverage:run] sections 

+

682 nested = self.LOTSA_SETTINGS.format(section="coverage:") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

683 self.make_file("tox.ini", self.TOX_INI + "\n" + nested) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

684 cov = coverage.Coverage(config_file="tox.ini") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 self.assert_config_settings_are_correct(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

686 

+

687 def test_non_ascii(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

688 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

689 [report] 

+

690 exclude_lines = 

+

691 first 

+

692 ✘${TOX_ENVNAME} 

+

693 third 

+

694 [html] 

+

695 title = tabblo & «ταБЬℓσ» # numbers 

+

696 """) 

+

697 self.set_environ("TOX_ENVNAME", "weirdo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

699 

+

700 assert cov.config.exclude_list == ["first", "✘weirdo", "third"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

701 assert cov.config.html_title == "tabblo & «ταБЬℓσ» # numbers" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

702 

+

703 @pytest.mark.parametrize("bad_file", ["nosuchfile.txt", "."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

704 def test_unreadable_config(self, bad_file: str) -> None: 

+

705 # If a config file is explicitly specified, then it is an error for it 

+

706 # to not be readable. 

+

707 msg = f"Couldn't read {bad_file!r} as a config file" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

708 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

709 coverage.Coverage(config_file=bad_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 

+

711 def test_nocoveragerc_file_when_specified(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

712 cov = coverage.Coverage(config_file=".coveragerc") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

713 assert not cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

714 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

715 assert cov.config.data_file == ".coverage" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

716 

+

717 def test_no_toml_installed_no_toml(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

718 # Can't read a toml file that doesn't exist. 

+

719 with mock.patch.object(coverage.tomlconfig, "has_tomllib", False): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

720 msg = "Couldn't read 'cov.toml' as a config file" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

721 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

722 coverage.Coverage(config_file="cov.toml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

723 

+

724 @pytest.mark.skipif(sys.version_info >= (3, 11), reason="Python 3.11 has toml in stdlib") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

725 def test_no_toml_installed_explicit_toml(self) -> None: 

+

726 # Can't specify a toml config file if toml isn't installed. 

+

727 self.make_file("cov.toml", "# A toml file!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

728 with mock.patch.object(coverage.tomlconfig, "has_tomllib", False): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

729 msg = "Can't read 'cov.toml' without TOML support" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

730 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

731 coverage.Coverage(config_file="cov.toml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

732 

+

733 @pytest.mark.skipif(sys.version_info >= (3, 11), reason="Python 3.11 has toml in stdlib") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

734 def test_no_toml_installed_pyproject_toml(self) -> None: 

+

735 # Can't have coverage config in pyproject.toml without toml installed. 

+

736 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

737 # A toml file! 

+

738 [tool.coverage.run] 

+

739 xyzzy = 17 

+

740 """) 

+

741 with mock.patch.object(coverage.tomlconfig, "has_tomllib", False): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

742 msg = "Can't read 'pyproject.toml' without TOML support" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

743 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

744 coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

745 

+

746 @pytest.mark.skipif(sys.version_info >= (3, 11), reason="Python 3.11 has toml in stdlib") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

747 def test_no_toml_installed_pyproject_toml_shorter_syntax(self) -> None: 

+

748 # Can't have coverage config in pyproject.toml without toml installed. 

+

749 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

750 # A toml file! 

+

751 [tool.coverage] 

+

752 run.parallel = true 

+

753 """) 

+

754 with mock.patch.object(coverage.tomlconfig, "has_tomllib", False): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

755 msg = "Can't read 'pyproject.toml' without TOML support" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

756 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

758 

+

759 @pytest.mark.skipif(sys.version_info >= (3, 11), reason="Python 3.11 has toml in stdlib") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

760 def test_no_toml_installed_pyproject_no_coverage(self) -> None: 

+

761 # It's ok to have non-coverage pyproject.toml without toml installed. 

+

762 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

763 # A toml file! 

+

764 [tool.something] 

+

765 xyzzy = 17 

+

766 """) 

+

767 with mock.patch.object(coverage.tomlconfig, "has_tomllib", False): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

768 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

769 # We get default settings: 

+

770 assert not cov.config.timid 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

771 assert not cov.config.branch 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

772 assert cov.config.data_file == ".coverage" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

773 

+

774 def test_exceptions_from_missing_toml_things(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

775 self.make_file("pyproject.toml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

776 [tool.coverage.run] 

+

777 branch = true 

+

778 """) 

+

779 config = TomlConfigParser(False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

780 config.read("pyproject.toml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

781 with pytest.raises(ConfigError, match="No section: 'xyzzy'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

782 config.options("xyzzy") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

783 with pytest.raises(ConfigError, match="No section: 'xyzzy'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

784 config.get("xyzzy", "foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

785 with pytest.raises(ConfigError, match="No option 'foo' in section: 'tool.coverage.run'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

786 config.get("run", "foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_context_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_context_py.html new file mode 100644 index 000000000..cf8582349 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_context_py.html @@ -0,0 +1,389 @@ + + + + + Coverage for tests/test_context.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_context.py: + 100.000% +

+ +

+ 170 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for context support.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import inspect 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11from typing import Any, List, Optional, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12from unittest import mock 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.context import qualname_from_frame 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.data import CoverageData, sorted_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.types import TArc, TCovKwargs, TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from tests.helpers import assert_count_equal 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22 

+

23class StaticContextTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 """Tests of the static context.""" 

+

25 

+

26 def test_no_context(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 self.make_file("main.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 assert_count_equal(data.measured_contexts(), [""]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33 def test_static_context(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 self.make_file("main.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 cov = coverage.Coverage(context="gooey") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 assert_count_equal(data.measured_contexts(), ["gooey"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 

+

40 SOURCE = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 a = 1 

+

42 if a > 2: 

+

43 a = 3 

+

44 assert a == 1 

+

45 """ 

+

46 

+

47 LINES = [1, 2, 4] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 ARCS = [(-1, 1), (1, 2), (2, 4), (4, -1)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 def run_red_blue(self, **options: TCovKwargs) -> Tuple[CoverageData, CoverageData]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 """Run red.py and blue.py, and return their CoverageData objects.""" 

+

52 self.make_file("red.py", self.SOURCE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 red_cov = coverage.Coverage(context="red", data_suffix="r", source=["."], **options) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 self.start_import_stop(red_cov, "red") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 red_cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 red_data = red_cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 

+

58 self.make_file("blue.py", self.SOURCE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 blue_cov = coverage.Coverage(context="blue", data_suffix="b", source=["."], **options) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 self.start_import_stop(blue_cov, "blue") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 blue_cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 blue_data = blue_cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 

+

64 return red_data, blue_data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66 def test_combining_line_contexts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 red_data, blue_data = self.run_red_blue() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 for datas in [[red_data, blue_data], [blue_data, red_data]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 combined = CoverageData(suffix="combined") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 for data in datas: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 combined.update(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 

+

73 assert combined.measured_contexts() == {'red', 'blue'} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 full_names = {os.path.basename(f): f for f in combined.measured_files()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 assert_count_equal(full_names, ['red.py', 'blue.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78 fred = full_names['red.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 fblue = full_names['blue.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 

+

81 def assert_combined_lines(filename: str, context: str, lines: List[TLineNo]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 # pylint: disable=cell-var-from-loop 

+

83 combined.set_query_context(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 assert combined.lines(filename) == lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 

+

86 assert_combined_lines(fred, 'red', self.LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 assert_combined_lines(fred, 'blue', []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 assert_combined_lines(fblue, 'red', []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 assert_combined_lines(fblue, 'blue', self.LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 

+

91 def test_combining_arc_contexts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 red_data, blue_data = self.run_red_blue(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 for datas in [[red_data, blue_data], [blue_data, red_data]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 combined = CoverageData(suffix="combined") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 for data in datas: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 combined.update(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 assert combined.measured_contexts() == {'red', 'blue'} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 

+

100 full_names = {os.path.basename(f): f for f in combined.measured_files()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 assert_count_equal(full_names, ['red.py', 'blue.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 

+

103 fred = full_names['red.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 fblue = full_names['blue.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 

+

106 def assert_combined_lines(filename: str, context: str, lines: List[TLineNo]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 # pylint: disable=cell-var-from-loop 

+

108 combined.set_query_context(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 assert combined.lines(filename) == lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 

+

111 assert_combined_lines(fred, 'red', self.LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 assert_combined_lines(fred, 'blue', []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 assert_combined_lines(fblue, 'red', []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 assert_combined_lines(fblue, 'blue', self.LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 

+

116 def assert_combined_arcs(filename: str, context: str, lines: List[TArc]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 # pylint: disable=cell-var-from-loop 

+

118 combined.set_query_context(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 assert combined.arcs(filename) == lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 

+

121 assert_combined_arcs(fred, 'red', self.ARCS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 assert_combined_arcs(fred, 'blue', []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 assert_combined_arcs(fblue, 'red', []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 assert_combined_arcs(fblue, 'blue', self.ARCS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 

+

126 

+

127class DynamicContextTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 """Tests of dynamically changing contexts.""" 

+

129 

+

130 SOURCE = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 def helper(lineno): 

+

132 x = 2 

+

133 

+

134 def test_one(): 

+

135 a = 5 

+

136 helper(6) 

+

137 

+

138 def test_two(): 

+

139 a = 9 

+

140 b = 10 

+

141 if a > 11: 

+

142 b = 12 

+

143 assert a == (13-4) 

+

144 assert b == (14-4) 

+

145 helper(15) 

+

146 

+

147 test_one() 

+

148 x = 18 

+

149 helper(19) 

+

150 test_two() 

+

151 """ 

+

152 

+

153 OUTER_LINES = [1, 4, 8, 17, 18, 19, 2, 20] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 TEST_ONE_LINES = [5, 6, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 TEST_TWO_LINES = [9, 10, 11, 13, 14, 15, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 

+

157 def test_dynamic_alone(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 self.make_file("two_tests.py", self.SOURCE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 cov.set_option("run:dynamic_context", "test_function") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 self.start_import_stop(cov, "two_tests") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 

+

164 full_names = {os.path.basename(f): f for f in data.measured_files()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 fname = full_names["two_tests.py"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 assert_count_equal( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 data.measured_contexts(), 

+

168 ["", "two_tests.test_one", "two_tests.test_two"] 

+

169 ) 

+

170 

+

171 def assert_context_lines(context: str, lines: List[TLineNo]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 data.set_query_context(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 assert_count_equal(lines, sorted_lines(data, fname)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 

+

175 assert_context_lines("", self.OUTER_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 assert_context_lines("two_tests.test_one", self.TEST_ONE_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 assert_context_lines("two_tests.test_two", self.TEST_TWO_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 

+

179 def test_static_and_dynamic(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 self.make_file("two_tests.py", self.SOURCE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 cov = coverage.Coverage(context="stat", source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 cov.set_option("run:dynamic_context", "test_function") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 self.start_import_stop(cov, "two_tests") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 

+

186 full_names = {os.path.basename(f): f for f in data.measured_files()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 fname = full_names["two_tests.py"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 assert_count_equal( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 data.measured_contexts(), 

+

190 ["stat", "stat|two_tests.test_one", "stat|two_tests.test_two"] 

+

191 ) 

+

192 

+

193 def assert_context_lines(context: str, lines: List[TLineNo]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 data.set_query_context(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 assert_count_equal(lines, sorted_lines(data, fname)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 

+

197 assert_context_lines("stat", self.OUTER_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 assert_context_lines("stat|two_tests.test_one", self.TEST_ONE_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 assert_context_lines("stat|two_tests.test_two", self.TEST_TWO_LINES) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 

+

201 

+

202def get_qualname() -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 """Helper to return qualname_from_frame for the caller.""" 

+

204 stack = inspect.stack()[1:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 if any(sinfo[0].f_code.co_name == "get_qualname" for sinfo in stack): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 # We're calling ourselves recursively, maybe because we're testing 

+

207 # properties. Return an int to try to get back on track. 

+

208 return 17 # type: ignore[return-value] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 caller_frame = stack[0][0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 return qualname_from_frame(caller_frame) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 

+

212# pylint: disable=missing-class-docstring, missing-function-docstring, unused-argument 

+

213 

+

214class Parent: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 def meth(self) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 return get_qualname() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 

+

218 @property 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 def a_property(self) -> Optional[str]: 

+

220 return get_qualname() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 

+

222class Child(Parent): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 

+

225class SomethingElse: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 

+

228class MultiChild(SomethingElse, Child): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 

+

231def no_arguments() -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 return get_qualname() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 

+

234def plain_old_function(a: Any, b: Any) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 return get_qualname() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 

+

237def fake_out(self: Any) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 return get_qualname() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 

+

240def patch_meth(self: Any) -> Optional[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 return get_qualname() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 

+

243# pylint: enable=missing-class-docstring, missing-function-docstring, unused-argument 

+

244 

+

245 

+

246class QualnameTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 """Tests of qualname_from_frame.""" 

+

248 

+

249 # Pylint gets confused about meth() below. 

+

250 # pylint: disable=no-value-for-parameter 

+

251 

+

252 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 

+

254 def test_method(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 assert Parent().meth() == "tests.test_context.Parent.meth" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 

+

257 def test_inherited_method(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 assert Child().meth() == "tests.test_context.Parent.meth" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 

+

260 def test_mi_inherited_method(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 assert MultiChild().meth() == "tests.test_context.Parent.meth" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 

+

263 def test_no_arguments(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 assert no_arguments() == "tests.test_context.no_arguments" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 

+

266 def test_plain_old_function(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 assert plain_old_function(0, 1) == "tests.test_context.plain_old_function" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 

+

269 def test_fake_out(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 assert fake_out(0) == "tests.test_context.fake_out" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 def test_property(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 assert Parent().a_property == "tests.test_context.Parent.a_property" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 

+

275 def test_changeling(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 c = Child() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 c.meth = patch_meth # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 assert c.meth(c) == "tests.test_context.patch_meth" # type: ignore[call-arg] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 

+

280 def test_bug_829(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 # A class with a name like a function shouldn't confuse qualname_from_frame. 

+

282 class test_something: # pylint: disable=unused-variable 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 assert get_qualname() is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 

+

285 def test_bug_1210(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 # Under pyarmor (an obfuscator), a function can have a "self" argument, 

+

287 # but then not have a "self" local. 

+

288 co = mock.Mock(co_name="a_co_name", co_argcount=1, co_varnames=["self"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 frame = mock.Mock(f_code=co, f_locals={}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 assert qualname_from_frame(frame) == "unittest.mock.a_co_name" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_coverage_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_coverage_py.html new file mode 100644 index 000000000..ce54f5274 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_coverage_py.html @@ -0,0 +1,1969 @@ + + + + + Coverage for tests/test_coverage.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_coverage.py: + 100.000% +

+ +

+ 323 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12from coverage.exceptions import NoDataError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16 

+

17class TestCoverageTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 """Make sure our complex self.check_coverage method works.""" 

+

19 

+

20 def test_successful_coverage(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 # The simplest run possible. 

+

22 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 a = 1 

+

24 b = 2 

+

25 """, 

+

26 [1,2] 

+

27 ) 

+

28 # You can provide a list of possible statement matches. 

+

29 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 a = 1 

+

31 b = 2 

+

32 """, 

+

33 ([100], [1,2], [1723,47]), 

+

34 ) 

+

35 # You can specify missing lines. 

+

36 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 a = 1 

+

38 if a == 2: 

+

39 a = 3 

+

40 """, 

+

41 [1,2,3], 

+

42 missing="3", 

+

43 ) 

+

44 # You can specify a list of possible missing lines. 

+

45 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 a = 1 

+

47 if a == 2: 

+

48 a = 3 

+

49 """, 

+

50 [1,2,3], 

+

51 missing=("47-49", "3", "100,102") 

+

52 ) 

+

53 

+

54 def test_failed_coverage(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 # If the lines are wrong, the message shows right and wrong. 

+

56 with pytest.raises(AssertionError, match=r"\[1, 2] != \[1]"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 a = 1 

+

59 b = 2 

+

60 """, 

+

61 [1] 

+

62 ) 

+

63 # If the list of lines possibilities is wrong, the msg shows right. 

+

64 msg = r"None of the lines choices matched \[1, 2]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 a = 1 

+

68 b = 2 

+

69 """, 

+

70 ([1], [2]) 

+

71 ) 

+

72 # If the missing lines are wrong, the message shows right and wrong. 

+

73 with pytest.raises(AssertionError, match=r"'3' != '37'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 a = 1 

+

76 if a == 2: 

+

77 a = 3 

+

78 """, 

+

79 [1,2,3], 

+

80 missing="37", 

+

81 ) 

+

82 # If the missing lines possibilities are wrong, the msg shows right. 

+

83 msg = r"None of the missing choices matched '3'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 a = 1 

+

87 if a == 2: 

+

88 a = 3 

+

89 """, 

+

90 [1,2,3], 

+

91 missing=("37", "4-10"), 

+

92 ) 

+

93 

+

94 def test_exceptions_really_fail(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 # An assert in the checked code will really raise up to us. 

+

96 with pytest.raises(AssertionError, match="This is bad"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 a = 1 

+

99 assert a == 99, "This is bad" 

+

100 """ 

+

101 ) 

+

102 # Other exceptions too. 

+

103 with pytest.raises(ZeroDivisionError, match="division"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 a = 1 

+

106 assert a == 1, "This is good" 

+

107 a/0 

+

108 """ 

+

109 ) 

+

110 

+

111 

+

112class BasicCoverageTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 """The simplest tests, for quick smoke testing of fundamental changes.""" 

+

114 

+

115 def test_simple(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 a = 1 

+

118 b = 2 

+

119 

+

120 c = 4 

+

121 # Nothing here 

+

122 d = 6 

+

123 """, 

+

124 [1,2,4,6], report="4 0 0 0 100%") 

+

125 

+

126 def test_indentation_wackiness(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 # Partial final lines are OK. 

+

128 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 import sys 

+

130 if not sys.path: 

+

131 a = 1 

+

132 """, # indented last line 

+

133 [1,2,3], "3") 

+

134 

+

135 def test_multiline_initializer(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 d = { 

+

138 'foo': 1+2, 

+

139 'bar': (lambda x: x+1)(1), 

+

140 'baz': str(1), 

+

141 } 

+

142 

+

143 e = { 'foo': 1, 'bar': 2 } 

+

144 """, 

+

145 [1,7], "") 

+

146 

+

147 def test_list_comprehension(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 l = [ 

+

150 2*i for i in range(10) 

+

151 if i > 5 

+

152 ] 

+

153 assert l == [12, 14, 16, 18] 

+

154 """, 

+

155 [1,5], "") 

+

156 

+

157 

+

158class SimpleStatementTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 """Testing simple single-line statements.""" 

+

160 

+

161 def test_expression(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 # Bare expressions as statements are tricky: some implementations 

+

163 # optimize some of them away. All implementations seem to count 

+

164 # the implicit return at the end as executable. 

+

165 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 12 

+

167 23 

+

168 """, 

+

169 ([1,2],[2]), "") 

+

170 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 12 

+

172 23 

+

173 a = 3 

+

174 """, 

+

175 ([1,2,3],[3]), "") 

+

176 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 1 + 2 

+

178 1 + \\ 

+

179 2 

+

180 """, 

+

181 ([1,2], [2]), "") 

+

182 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 1 + 2 

+

184 1 + \\ 

+

185 2 

+

186 a = 4 

+

187 """, 

+

188 ([1,2,4], [4]), "") 

+

189 

+

190 def test_assert(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 assert (1 + 2) 

+

193 assert (1 + 

+

194 2) 

+

195 assert (1 + 2), 'the universe is broken' 

+

196 assert (1 + 

+

197 2), \\ 

+

198 'something is amiss' 

+

199 """, 

+

200 [1,2,4,5], "") 

+

201 

+

202 def test_assignment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 # Simple variable assignment 

+

204 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 a = (1 + 2) 

+

206 b = (1 + 

+

207 2) 

+

208 c = \\ 

+

209 1 

+

210 """, 

+

211 [1,2,4], "") 

+

212 

+

213 def test_assign_tuple(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 a = 1 

+

216 a,b,c = 7,8,9 

+

217 assert a == 7 and b == 8 and c == 9 

+

218 """, 

+

219 [1,2,3], "") 

+

220 

+

221 def test_more_assignments(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 x = [] 

+

224 d = {} 

+

225 d[ 

+

226 4 + len(x) 

+

227 + 5 

+

228 ] = \\ 

+

229 d[ 

+

230 8 ** 2 

+

231 ] = \\ 

+

232 9 

+

233 """, 

+

234 [1, 2, 3], "") 

+

235 

+

236 def test_attribute_assignment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 # Attribute assignment 

+

238 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 class obj: pass 

+

240 o = obj() 

+

241 o.foo = (1 + 2) 

+

242 o.foo = (1 + 

+

243 2) 

+

244 o.foo = \\ 

+

245 1 

+

246 """, 

+

247 [1,2,3,4,6], "") 

+

248 

+

249 def test_list_of_attribute_assignment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 class obj: pass 

+

252 o = obj() 

+

253 o.a, o.b = (1 + 2), 3 

+

254 o.a, o.b = (1 + 

+

255 2), (3 + 

+

256 4) 

+

257 o.a, o.b = \\ 

+

258 1, \\ 

+

259 2 

+

260 """, 

+

261 [1,2,3,4,7], "") 

+

262 

+

263 def test_augmented_assignment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 a = 1 

+

266 a += 1 

+

267 a += (1 + 

+

268 2) 

+

269 a += \\ 

+

270 1 

+

271 """, 

+

272 [1,2,3,5], "") 

+

273 

+

274 def test_triple_string_stuff(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 a = ''' 

+

277 a multiline 

+

278 string. 

+

279 ''' 

+

280 b = ''' 

+

281 long expression 

+

282 ''' + ''' 

+

283 on many 

+

284 lines. 

+

285 ''' 

+

286 c = len(''' 

+

287 long expression 

+

288 ''' + 

+

289 ''' 

+

290 on many 

+

291 lines. 

+

292 ''') 

+

293 """, 

+

294 [1,5,11], "") 

+

295 

+

296 def test_pass(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 # pass is tricky: if it's the only statement in a block, then it is 

+

298 # "executed". But if it is not the only statement, then it is not. 

+

299 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 if 1==1: 

+

301 pass 

+

302 """, 

+

303 [1,2], "") 

+

304 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 def foo(): 

+

306 pass 

+

307 foo() 

+

308 """, 

+

309 [1,2,3], "") 

+

310 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 def foo(): 

+

312 "doc" 

+

313 pass 

+

314 foo() 

+

315 """, 

+

316 ([1,3,4], [1,4]), "") 

+

317 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 class Foo: 

+

319 def foo(self): 

+

320 pass 

+

321 Foo().foo() 

+

322 """, 

+

323 [1,2,3,4], "") 

+

324 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 class Foo: 

+

326 def foo(self): 

+

327 "Huh?" 

+

328 pass 

+

329 Foo().foo() 

+

330 """, 

+

331 ([1,2,4,5], [1,2,5]), "") 

+

332 

+

333 def test_del(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 d = { 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1 } 

+

336 del d['a'] 

+

337 del d[ 

+

338 'b' 

+

339 ] 

+

340 del d['c'], \\ 

+

341 d['d'], \\ 

+

342 d['e'] 

+

343 assert(len(d.keys()) == 0) 

+

344 """, 

+

345 [1,2,3,6,9], "") 

+

346 

+

347 def test_raise(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 try: 

+

350 raise Exception( 

+

351 "hello %d" % 

+

352 17) 

+

353 except: 

+

354 pass 

+

355 """, 

+

356 [1,2,5,6], "") 

+

357 

+

358 def test_raise_followed_by_statement(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

360 lines = [1,2,4,5] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

361 missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

362 else: 

+

363 lines = [1,2,3,4,5] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 missing = "3" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 try: 

+

367 raise Exception("hello") 

+

368 a = 3 

+

369 except: 

+

370 pass 

+

371 """, 

+

372 lines=lines, missing=missing) 

+

373 

+

374 def test_return(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 def fn(): 

+

377 a = 1 

+

378 return a 

+

379 

+

380 x = fn() 

+

381 assert(x == 1) 

+

382 """, 

+

383 [1,2,3,5,6], "") 

+

384 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

385 def fn(): 

+

386 a = 1 

+

387 return ( 

+

388 a + 

+

389 1) 

+

390 

+

391 x = fn() 

+

392 assert(x == 2) 

+

393 """, 

+

394 [1,2,3,7,8], "") 

+

395 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 def fn(): 

+

397 a = 1 

+

398 return (a, 

+

399 a + 1, 

+

400 a + 2) 

+

401 

+

402 x,y,z = fn() 

+

403 assert x == 1 and y == 2 and z == 3 

+

404 """, 

+

405 [1,2,3,7,8], "") 

+

406 

+

407 def test_return_followed_by_statement(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 if env.PYBEHAVIOR.omit_after_return: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 lines = [1,2,3,6,7] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 else: 

+

412 lines = [1,2,3,4,6,7] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py

+

413 missing = "4" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py

+

414 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 def fn(): 

+

416 a = 2 

+

417 return a 

+

418 a = 4 

+

419 

+

420 x = fn() 

+

421 assert(x == 2) 

+

422 """, 

+

423 lines=lines, missing=missing, 

+

424 ) 

+

425 

+

426 def test_yield(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 def gen(): 

+

429 yield 1 

+

430 yield (2+ 

+

431 3+ 

+

432 4) 

+

433 yield 1, \\ 

+

434 2 

+

435 a,b,c = gen() 

+

436 assert a == 1 and b == 9 and c == (1,2) 

+

437 """, 

+

438 [1,2,3,6,8,9], "") 

+

439 

+

440 def test_break(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

441 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 lines = [1,2,3,5] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

443 missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

444 else: 

+

445 lines = [1,2,3,4,5] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 missing = "4" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 

+

448 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 for x in range(10): 

+

450 a = 2 + x 

+

451 break 

+

452 a = 4 

+

453 assert a == 2 

+

454 """, 

+

455 lines=lines, missing=missing) 

+

456 

+

457 def test_continue(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 lines = [1,2,3,5] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

460 missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

461 else: 

+

462 lines = [1,2,3,4,5] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 missing = "4" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

464 

+

465 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 for x in range(10): 

+

467 a = 2 + x 

+

468 continue 

+

469 a = 4 

+

470 assert a == 11 

+

471 """, 

+

472 lines=lines, missing=missing) 

+

473 

+

474 def test_strange_unexecuted_continue(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 # Peephole optimization of jumps to jumps can mean that some statements 

+

476 # never hit the line tracer. The behavior is different in different 

+

477 # versions of Python, so be careful when running this test. 

+

478 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 a = b = c = 0 

+

480 for n in range(100): 

+

481 if n % 2: 

+

482 if n % 4: 

+

483 a += 1 

+

484 continue # <-- This line may not be hit. 

+

485 else: 

+

486 b += 1 

+

487 c += 1 

+

488 assert a == 50 and b == 50 and c == 50 

+

489 

+

490 a = b = c = 0 

+

491 for n in range(100): 

+

492 if n % 2: 

+

493 if n % 3: 

+

494 a += 1 

+

495 continue # <-- This line is always hit. 

+

496 else: 

+

497 b += 1 

+

498 c += 1 

+

499 assert a == 33 and b == 50 and c == 50 

+

500 """, 

+

501 lines=[1,2,3,4,5,6,8,9,10, 12,13,14,15,16,17,19,20,21], 

+

502 missing=["", "6"], 

+

503 ) 

+

504 

+

505 def test_import(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 import string 

+

508 from sys import path 

+

509 a = 1 

+

510 """, 

+

511 [1,2,3], "") 

+

512 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 import string 

+

514 if 1 == 2: 

+

515 from sys import path 

+

516 a = 1 

+

517 """, 

+

518 [1,2,3,4], "3") 

+

519 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

520 import string, \\ 

+

521 os, \\ 

+

522 re 

+

523 from sys import path, \\ 

+

524 stdout 

+

525 a = 1 

+

526 """, 

+

527 [1,4,6], "") 

+

528 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

529 import sys, sys as s 

+

530 assert s.path == sys.path 

+

531 """, 

+

532 [1,2], "") 

+

533 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 import sys, \\ 

+

535 sys as s 

+

536 assert s.path == sys.path 

+

537 """, 

+

538 [1,3], "") 

+

539 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

540 from sys import path, \\ 

+

541 path as p 

+

542 assert p == path 

+

543 """, 

+

544 [1,3], "") 

+

545 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 from sys import \\ 

+

547 * 

+

548 assert len(path) > 0 

+

549 """, 

+

550 [1,3], "") 

+

551 

+

552 def test_global(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 g = h = i = 1 

+

555 def fn(): 

+

556 global g 

+

557 global h, \\ 

+

558 i 

+

559 g = h = i = 2 

+

560 fn() 

+

561 assert g == 2 and h == 2 and i == 2 

+

562 """, 

+

563 [1,2,6,7,8], "") 

+

564 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 g = h = i = 1 

+

566 def fn(): 

+

567 global g; g = 2 

+

568 fn() 

+

569 assert g == 2 and h == 1 and i == 1 

+

570 """, 

+

571 [1,2,3,4,5], "") 

+

572 

+

573 def test_exec(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

574 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

575 a = b = c = 1 

+

576 exec("a = 2") 

+

577 exec("b = " + 

+

578 "c = " + 

+

579 "2") 

+

580 assert a == 2 and b == 2 and c == 2 

+

581 """, 

+

582 [1,2,3,6], "") 

+

583 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

584 vars = {'a': 1, 'b': 1, 'c': 1} 

+

585 exec("a = 2", vars) 

+

586 exec("b = " + 

+

587 "c = " + 

+

588 "2", vars) 

+

589 assert vars['a'] == 2 and vars['b'] == 2 and vars['c'] == 2 

+

590 """, 

+

591 [1,2,3,6], "") 

+

592 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 globs = {} 

+

594 locs = {'a': 1, 'b': 1, 'c': 1} 

+

595 exec("a = 2", globs, locs) 

+

596 exec("b = " + 

+

597 "c = " + 

+

598 "2", globs, locs) 

+

599 assert locs['a'] == 2 and locs['b'] == 2 and locs['c'] == 2 

+

600 """, 

+

601 [1,2,3,4,7], "") 

+

602 

+

603 def test_extra_doc_string(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

604 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

605 a = 1 

+

606 "An extra docstring, should be a comment." 

+

607 b = 3 

+

608 assert (a,b) == (1,3) 

+

609 """, 

+

610 ([1,3,4], [1,2,3,4]), 

+

611 "", 

+

612 ) 

+

613 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

614 a = 1 

+

615 "An extra docstring, should be a comment." 

+

616 b = 3 

+

617 123 # A number for some reason: ignored 

+

618 1+1 # An expression: executed. 

+

619 c = 6 

+

620 assert (a,b,c) == (1,3,6) 

+

621 """, 

+

622 ([1,3,6,7], [1,3,5,6,7], [1,3,4,5,6,7], [1,2,3,4,5,6,7]), 

+

623 "", 

+

624 ) 

+

625 

+

626 def test_nonascii(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

628 # coding: utf-8 

+

629 a = 2 

+

630 b = 3 

+

631 """, 

+

632 [2, 3] 

+

633 ) 

+

634 

+

635 def test_module_docstring(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

636 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

637 '''I am a module docstring.''' 

+

638 a = 2 

+

639 b = 3 

+

640 """, 

+

641 [2, 3] 

+

642 ) 

+

643 lines = [2, 3, 4] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

644 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 # Start with a comment, because it changes the behavior(!?) 

+

646 '''I am a module docstring.''' 

+

647 a = 3 

+

648 b = 4 

+

649 """, 

+

650 lines 

+

651 ) 

+

652 

+

653 

+

654class CompoundStatementTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

655 """Testing coverage of multi-line compound statements.""" 

+

656 

+

657 def test_statement_list(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

658 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

659 a = 1; 

+

660 b = 2; c = 3 

+

661 d = 4; e = 5; 

+

662 

+

663 assert (a,b,c,d,e) == (1,2,3,4,5) 

+

664 """, 

+

665 [1,2,3,5], "") 

+

666 

+

667 def test_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

668 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

669 a = 1 

+

670 if a == 1: 

+

671 x = 3 

+

672 assert x == 3 

+

673 if (a == 

+

674 1): 

+

675 x = 7 

+

676 assert x == 7 

+

677 """, 

+

678 [1,2,3,4,5,7,8], "") 

+

679 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

680 a = 1 

+

681 if a == 1: 

+

682 x = 3 

+

683 else: 

+

684 y = 5 

+

685 assert x == 3 

+

686 """, 

+

687 [1,2,3,5,6], "5") 

+

688 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

689 a = 1 

+

690 if a != 1: 

+

691 x = 3 

+

692 else: 

+

693 y = 5 

+

694 assert y == 5 

+

695 """, 

+

696 [1,2,3,5,6], "3") 

+

697 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 a = 1; b = 2 

+

699 if a == 1: 

+

700 if b == 2: 

+

701 x = 4 

+

702 else: 

+

703 y = 6 

+

704 else: 

+

705 z = 8 

+

706 assert x == 4 

+

707 """, 

+

708 [1,2,3,4,6,8,9], "6-8") 

+

709 

+

710 def test_elif(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

711 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

712 a = 1; b = 2; c = 3; 

+

713 if a == 1: 

+

714 x = 3 

+

715 elif b == 2: 

+

716 y = 5 

+

717 else: 

+

718 z = 7 

+

719 assert x == 3 

+

720 """, 

+

721 [1,2,3,4,5,7,8], "4-7", report="7 3 4 1 45% 4-7", 

+

722 ) 

+

723 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

724 a = 1; b = 2; c = 3; 

+

725 if a != 1: 

+

726 x = 3 

+

727 elif b == 2: 

+

728 y = 5 

+

729 else: 

+

730 z = 7 

+

731 assert y == 5 

+

732 """, 

+

733 [1,2,3,4,5,7,8], "3, 7", report="7 2 4 2 64% 3, 7", 

+

734 ) 

+

735 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

736 a = 1; b = 2; c = 3; 

+

737 if a != 1: 

+

738 x = 3 

+

739 elif b != 2: 

+

740 y = 5 

+

741 else: 

+

742 z = 7 

+

743 assert z == 7 

+

744 """, 

+

745 [1,2,3,4,5,7,8], "3, 5", report="7 2 4 2 64% 3, 5", 

+

746 ) 

+

747 

+

748 def test_elif_no_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

749 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

750 a = 1; b = 2; c = 3; 

+

751 if a == 1: 

+

752 x = 3 

+

753 elif b == 2: 

+

754 y = 5 

+

755 assert x == 3 

+

756 """, 

+

757 [1,2,3,4,5,6], "4-5", report="6 2 4 1 50% 4-5", 

+

758 ) 

+

759 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

760 a = 1; b = 2; c = 3; 

+

761 if a != 1: 

+

762 x = 3 

+

763 elif b == 2: 

+

764 y = 5 

+

765 assert y == 5 

+

766 """, 

+

767 [1,2,3,4,5,6], "3", report="6 1 4 2 70% 3, 4->6", 

+

768 ) 

+

769 

+

770 def test_elif_bizarre(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

771 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

772 def f(self): 

+

773 if self==1: 

+

774 x = 3 

+

775 elif self.m('fred'): 

+

776 x = 5 

+

777 elif (g==1) and (b==2): 

+

778 x = 7 

+

779 elif self.m('fred')==True: 

+

780 x = 9 

+

781 elif ((g==1) and (b==2))==True: 

+

782 x = 11 

+

783 else: 

+

784 x = 13 

+

785 """, 

+

786 [1,2,3,4,5,6,7,8,9,10,11,13], "2-13") 

+

787 

+

788 def test_split_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

789 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

790 a = 1; b = 2; c = 3; 

+

791 if \\ 

+

792 a == 1: 

+

793 x = 3 

+

794 elif \\ 

+

795 b == 2: 

+

796 y = 5 

+

797 else: 

+

798 z = 7 

+

799 assert x == 3 

+

800 """, 

+

801 [1,2,4,5,7,9,10], "5-9") 

+

802 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

803 a = 1; b = 2; c = 3; 

+

804 if \\ 

+

805 a != 1: 

+

806 x = 3 

+

807 elif \\ 

+

808 b == 2: 

+

809 y = 5 

+

810 else: 

+

811 z = 7 

+

812 assert y == 5 

+

813 """, 

+

814 [1,2,4,5,7,9,10], "4, 9") 

+

815 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

816 a = 1; b = 2; c = 3; 

+

817 if \\ 

+

818 a != 1: 

+

819 x = 3 

+

820 elif \\ 

+

821 b != 2: 

+

822 y = 5 

+

823 else: 

+

824 z = 7 

+

825 assert z == 7 

+

826 """, 

+

827 [1,2,4,5,7,9,10], "4, 7") 

+

828 

+

829 def test_pathological_split_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

830 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

831 a = 1; b = 2; c = 3; 

+

832 if ( 

+

833 a == 1 

+

834 ): 

+

835 x = 3 

+

836 elif ( 

+

837 b == 2 

+

838 ): 

+

839 y = 5 

+

840 else: 

+

841 z = 7 

+

842 assert x == 3 

+

843 """, 

+

844 [1,2,5,6,9,11,12], "6-11") 

+

845 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

846 a = 1; b = 2; c = 3; 

+

847 if ( 

+

848 a != 1 

+

849 ): 

+

850 x = 3 

+

851 elif ( 

+

852 b == 2 

+

853 ): 

+

854 y = 5 

+

855 else: 

+

856 z = 7 

+

857 assert y == 5 

+

858 """, 

+

859 [1,2,5,6,9,11,12], "5, 11") 

+

860 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

861 a = 1; b = 2; c = 3; 

+

862 if ( 

+

863 a != 1 

+

864 ): 

+

865 x = 3 

+

866 elif ( 

+

867 b != 2 

+

868 ): 

+

869 y = 5 

+

870 else: 

+

871 z = 7 

+

872 assert z == 7 

+

873 """, 

+

874 [1,2,5,6,9,11,12], "5, 9") 

+

875 

+

876 def test_absurd_split_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

877 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

878 a = 1; b = 2; c = 3; 

+

879 if a == 1 \\ 

+

880 : 

+

881 x = 3 

+

882 elif b == 2 \\ 

+

883 : 

+

884 y = 5 

+

885 else: 

+

886 z = 7 

+

887 assert x == 3 

+

888 """, 

+

889 [1,2,4,5,7,9,10], "5-9") 

+

890 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

891 a = 1; b = 2; c = 3; 

+

892 if a != 1 \\ 

+

893 : 

+

894 x = 3 

+

895 elif b == 2 \\ 

+

896 : 

+

897 y = 5 

+

898 else: 

+

899 z = 7 

+

900 assert y == 5 

+

901 """, 

+

902 [1,2,4,5,7,9,10], "4, 9") 

+

903 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

904 a = 1; b = 2; c = 3; 

+

905 if a != 1 \\ 

+

906 : 

+

907 x = 3 

+

908 elif b != 2 \\ 

+

909 : 

+

910 y = 5 

+

911 else: 

+

912 z = 7 

+

913 assert z == 7 

+

914 """, 

+

915 [1,2,4,5,7,9,10], "4, 7") 

+

916 

+

917 def test_constant_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

918 if env.PYBEHAVIOR.keep_constant_test: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

919 lines = [1, 2, 3] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

920 else: 

+

921 lines = [2, 3] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

922 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

923 if 1: 

+

924 a = 2 

+

925 assert a == 2 

+

926 """, 

+

927 lines, 

+

928 "", 

+

929 ) 

+

930 

+

931 def test_while(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

932 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

933 a = 3; b = 0 

+

934 while a: 

+

935 b += 1 

+

936 a -= 1 

+

937 assert a == 0 and b == 3 

+

938 """, 

+

939 [1,2,3,4,5], "") 

+

940 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

941 a = 3; b = 0 

+

942 while a: 

+

943 b += 1 

+

944 break 

+

945 assert a == 3 and b == 1 

+

946 """, 

+

947 [1,2,3,4,5], "") 

+

948 

+

949 def test_while_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

950 # Take the else branch. 

+

951 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

952 a = 3; b = 0 

+

953 while a: 

+

954 b += 1 

+

955 a -= 1 

+

956 else: 

+

957 b = 99 

+

958 assert a == 0 and b == 99 

+

959 """, 

+

960 [1,2,3,4,6,7], "") 

+

961 # Don't take the else branch. 

+

962 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

963 a = 3; b = 0 

+

964 while a: 

+

965 b += 1 

+

966 a -= 1 

+

967 break 

+

968 else: 

+

969 b = 99 

+

970 assert a == 2 and b == 1 

+

971 """, 

+

972 [1,2,3,4,5,7,8], "7") 

+

973 

+

974 def test_split_while(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

975 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

976 a = 3; b = 0 

+

977 while \\ 

+

978 a: 

+

979 b += 1 

+

980 a -= 1 

+

981 assert a == 0 and b == 3 

+

982 """, 

+

983 [1,2,4,5,6], "") 

+

984 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

985 a = 3; b = 0 

+

986 while ( 

+

987 a 

+

988 ): 

+

989 b += 1 

+

990 a -= 1 

+

991 assert a == 0 and b == 3 

+

992 """, 

+

993 [1,2,5,6,7], "") 

+

994 

+

995 def test_for(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

996 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

997 a = 0 

+

998 for i in [1,2,3,4,5]: 

+

999 a += i 

+

1000 assert a == 15 

+

1001 """, 

+

1002 [1,2,3,4], "") 

+

1003 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1004 a = 0 

+

1005 for i in [1, 

+

1006 2,3,4, 

+

1007 5]: 

+

1008 a += i 

+

1009 assert a == 15 

+

1010 """, 

+

1011 [1,2,5,6], "") 

+

1012 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1013 a = 0 

+

1014 for i in [1,2,3,4,5]: 

+

1015 a += i 

+

1016 break 

+

1017 assert a == 1 

+

1018 """, 

+

1019 [1,2,3,4,5], "") 

+

1020 

+

1021 def test_for_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1022 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1023 a = 0 

+

1024 for i in range(5): 

+

1025 a += i+1 

+

1026 else: 

+

1027 a = 99 

+

1028 assert a == 99 

+

1029 """, 

+

1030 [1,2,3,5,6], "") 

+

1031 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1032 a = 0 

+

1033 for i in range(5): 

+

1034 a += i+1 

+

1035 break 

+

1036 else: 

+

1037 a = 123 

+

1038 assert a == 1 

+

1039 """, 

+

1040 [1,2,3,4,6,7], "6") 

+

1041 

+

1042 def test_split_for(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1043 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1044 a = 0 

+

1045 for \\ 

+

1046 i in [1,2,3,4,5]: 

+

1047 a += i 

+

1048 assert a == 15 

+

1049 """, 

+

1050 [1,2,4,5], "") 

+

1051 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1052 a = 0 

+

1053 for \\ 

+

1054 i in [1, 

+

1055 2,3,4, 

+

1056 5]: 

+

1057 a += i 

+

1058 assert a == 15 

+

1059 """, 

+

1060 [1,2,6,7], "") 

+

1061 

+

1062 def test_try_except(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1063 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1064 a = 0 

+

1065 try: 

+

1066 a = 1 

+

1067 except: 

+

1068 a = 99 

+

1069 assert a == 1 

+

1070 """, 

+

1071 [1,2,3,4,5,6], "4-5") 

+

1072 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1073 a = 0 

+

1074 try: 

+

1075 a = 1 

+

1076 raise Exception("foo") 

+

1077 except: 

+

1078 a = 99 

+

1079 assert a == 99 

+

1080 """, 

+

1081 [1,2,3,4,5,6,7], "") 

+

1082 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1083 a = 0 

+

1084 try: 

+

1085 a = 1 

+

1086 raise Exception("foo") 

+

1087 except ImportError: 

+

1088 a = 99 

+

1089 except: 

+

1090 a = 123 

+

1091 assert a == 123 

+

1092 """, 

+

1093 [1,2,3,4,5,6,7,8,9], "6") 

+

1094 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1095 a = 0 

+

1096 try: 

+

1097 a = 1 

+

1098 raise IOError("foo") 

+

1099 except ImportError: 

+

1100 a = 99 

+

1101 except IOError: 

+

1102 a = 17 

+

1103 except: 

+

1104 a = 123 

+

1105 assert a == 17 

+

1106 """, 

+

1107 [1,2,3,4,5,6,7,8,9,10,11], "6, 9-10") 

+

1108 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1109 a = 0 

+

1110 try: 

+

1111 a = 1 

+

1112 except: 

+

1113 a = 99 

+

1114 else: 

+

1115 a = 123 

+

1116 assert a == 123 

+

1117 """, 

+

1118 [1,2,3,4,5,7,8], "4-5", 

+

1119 arcz=".1 12 23 45 58 37 78 8.", 

+

1120 arcz_missing="45 58", 

+

1121 ) 

+

1122 

+

1123 def test_try_except_stranded_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1124 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1125 # The else can't be reached because the try ends with a raise. 

+

1126 lines = [1,2,3,4,5,6,9] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1127 missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1128 arcz = ".1 12 23 34 45 56 69 9." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1129 arcz_missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1130 else: 

+

1131 lines = [1,2,3,4,5,6,8,9] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1132 missing = "8" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1133 arcz = ".1 12 23 34 45 56 69 89 9." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1134 arcz_missing = "89" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1135 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1136 a = 0 

+

1137 try: 

+

1138 a = 1 

+

1139 raise Exception("foo") 

+

1140 except: 

+

1141 a = 99 

+

1142 else: 

+

1143 a = 123 

+

1144 assert a == 99 

+

1145 """, 

+

1146 lines=lines, 

+

1147 missing=missing, 

+

1148 arcz=arcz, 

+

1149 arcz_missing=arcz_missing, 

+

1150 ) 

+

1151 

+

1152 def test_try_finally(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1153 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1154 a = 0 

+

1155 try: 

+

1156 a = 1 

+

1157 finally: 

+

1158 a = 99 

+

1159 assert a == 99 

+

1160 """, 

+

1161 [1,2,3,5,6], "") 

+

1162 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1163 a = 0; b = 0 

+

1164 try: 

+

1165 a = 1 

+

1166 try: 

+

1167 raise Exception("foo") 

+

1168 finally: 

+

1169 b = 123 

+

1170 except: 

+

1171 a = 99 

+

1172 assert a == 99 and b == 123 

+

1173 """, 

+

1174 [1,2,3,4,5,7,8,9,10], "") 

+

1175 

+

1176 def test_function_def(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1177 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1178 a = 99 

+

1179 def foo(): 

+

1180 ''' docstring 

+

1181 ''' 

+

1182 return 1 

+

1183 

+

1184 a = foo() 

+

1185 assert a == 1 

+

1186 """, 

+

1187 [1,2,5,7,8], "") 

+

1188 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1189 def foo( 

+

1190 a, 

+

1191 b 

+

1192 ): 

+

1193 ''' docstring 

+

1194 ''' 

+

1195 return a+b 

+

1196 

+

1197 x = foo(17, 23) 

+

1198 assert x == 40 

+

1199 """, 

+

1200 [1,7,9,10], "") 

+

1201 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1202 def foo( 

+

1203 a = (lambda x: x*2)(10), 

+

1204 b = ( 

+

1205 lambda x: 

+

1206 x+1 

+

1207 )(1) 

+

1208 ): 

+

1209 ''' docstring 

+

1210 ''' 

+

1211 return a+b 

+

1212 

+

1213 x = foo() 

+

1214 assert x == 22 

+

1215 """, 

+

1216 [1,10,12,13], "") 

+

1217 

+

1218 def test_class_def(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1219 arcz="-22 2D DE E-2 23 36 6A A-2 -68 8-6 -AB B-A" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1220 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1221 # A comment. 

+

1222 class theClass: 

+

1223 ''' the docstring. 

+

1224 Don't be fooled. 

+

1225 ''' 

+

1226 def __init__(self): 

+

1227 ''' Another docstring. ''' 

+

1228 self.a = 1 

+

1229 

+

1230 def foo(self): 

+

1231 return self.a 

+

1232 

+

1233 x = theClass().foo() 

+

1234 assert x == 1 

+

1235 """, 

+

1236 [2, 6, 8, 10, 11, 13, 14], "", 

+

1237 arcz=arcz, 

+

1238 ) 

+

1239 

+

1240 

+

1241class ExcludeTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1242 """Tests of the exclusion feature to mark lines as not covered.""" 

+

1243 

+

1244 def test_default(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1245 # A number of forms of pragma comment are accepted. 

+

1246 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1247 a = 1 

+

1248 b = 2 # pragma: no cover 

+

1249 c = 3 

+

1250 d = 4 #pragma NOCOVER 

+

1251 e = 5 

+

1252 f = 6#\tpragma:\tno cover 

+

1253 g = 7 

+

1254 """, 

+

1255 [1,3,5,7] 

+

1256 ) 

+

1257 

+

1258 def test_simple(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1259 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1260 a = 1; b = 2 

+

1261 

+

1262 if len([]): 

+

1263 a = 4 # -cc 

+

1264 """, 

+

1265 [1,3], "", excludes=['-cc']) 

+

1266 

+

1267 def test_two_excludes(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1268 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1269 a = 1; b = 2 

+

1270 

+

1271 if a == 99: 

+

1272 a = 4 # -cc 

+

1273 b = 5 

+

1274 c = 6 # -xx 

+

1275 assert a == 1 and b == 2 

+

1276 """, 

+

1277 [1,3,5,7], "5", excludes=['-cc', '-xx']) 

+

1278 

+

1279 def test_excluding_if_suite(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1280 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1281 a = 1; b = 2 

+

1282 

+

1283 if len([]): # not-here 

+

1284 a = 4 

+

1285 b = 5 

+

1286 c = 6 

+

1287 assert a == 1 and b == 2 

+

1288 """, 

+

1289 [1,7], "", excludes=['not-here']) 

+

1290 

+

1291 def test_excluding_if_but_not_else_suite(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1292 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1293 a = 1; b = 2 

+

1294 

+

1295 if len([]): # not-here 

+

1296 a = 4 

+

1297 b = 5 

+

1298 c = 6 

+

1299 else: 

+

1300 a = 8 

+

1301 b = 9 

+

1302 assert a == 8 and b == 9 

+

1303 """, 

+

1304 [1,8,9,10], "", excludes=['not-here']) 

+

1305 

+

1306 def test_excluding_else_suite(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1307 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1308 a = 1; b = 2 

+

1309 

+

1310 if 1==1: 

+

1311 a = 4 

+

1312 b = 5 

+

1313 c = 6 

+

1314 else: #pragma: NO COVER 

+

1315 a = 8 

+

1316 b = 9 

+

1317 assert a == 4 and b == 5 and c == 6 

+

1318 """, 

+

1319 [1,3,4,5,6,10], "", excludes=['#pragma: NO COVER']) 

+

1320 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1321 a = 1; b = 2 

+

1322 

+

1323 if 1==1: 

+

1324 a = 4 

+

1325 b = 5 

+

1326 c = 6 

+

1327 

+

1328 # Lots of comments to confuse the else handler. 

+

1329 # more. 

+

1330 

+

1331 else: #pragma: NO COVER 

+

1332 

+

1333 # Comments here too. 

+

1334 

+

1335 a = 8 

+

1336 b = 9 

+

1337 assert a == 4 and b == 5 and c == 6 

+

1338 """, 

+

1339 [1,3,4,5,6,17], "", excludes=['#pragma: NO COVER']) 

+

1340 

+

1341 def test_excluding_elif_suites(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1342 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1343 a = 1; b = 2 

+

1344 

+

1345 if 1==1: 

+

1346 a = 4 

+

1347 b = 5 

+

1348 c = 6 

+

1349 elif 1==0: #pragma: NO COVER 

+

1350 a = 8 

+

1351 b = 9 

+

1352 else: 

+

1353 a = 11 

+

1354 b = 12 

+

1355 assert a == 4 and b == 5 and c == 6 

+

1356 """, 

+

1357 [1,3,4,5,6,11,12,13], "11-12", excludes=['#pragma: NO COVER']) 

+

1358 

+

1359 def test_excluding_oneline_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1360 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1361 def foo(): 

+

1362 a = 2 

+

1363 if len([]): x = 3 # no cover 

+

1364 b = 4 

+

1365 

+

1366 foo() 

+

1367 """, 

+

1368 [1,2,4,6], "", excludes=["no cover"]) 

+

1369 

+

1370 def test_excluding_a_colon_not_a_suite(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1371 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1372 def foo(): 

+

1373 l = list(range(10)) 

+

1374 a = l[:3] # no cover 

+

1375 b = 4 

+

1376 

+

1377 foo() 

+

1378 """, 

+

1379 [1,2,4,6], "", excludes=["no cover"]) 

+

1380 

+

1381 def test_excluding_for_suite(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1382 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1383 a = 0 

+

1384 for i in [1,2,3,4,5]: #pragma: NO COVER 

+

1385 a += i 

+

1386 assert a == 15 

+

1387 """, 

+

1388 [1,4], "", excludes=['#pragma: NO COVER']) 

+

1389 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1390 a = 0 

+

1391 for i in [1, 

+

1392 2,3,4, 

+

1393 5]: #pragma: NO COVER 

+

1394 a += i 

+

1395 assert a == 15 

+

1396 """, 

+

1397 [1,6], "", excludes=['#pragma: NO COVER']) 

+

1398 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1399 a = 0 

+

1400 for i in [1,2,3,4,5 

+

1401 ]: #pragma: NO COVER 

+

1402 a += i 

+

1403 break 

+

1404 a = 99 

+

1405 assert a == 1 

+

1406 """, 

+

1407 [1,7], "", excludes=['#pragma: NO COVER']) 

+

1408 

+

1409 def test_excluding_for_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1410 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1411 a = 0 

+

1412 for i in range(5): 

+

1413 a += i+1 

+

1414 break 

+

1415 else: #pragma: NO COVER 

+

1416 a = 123 

+

1417 assert a == 1 

+

1418 """, 

+

1419 [1,2,3,4,7], "", excludes=['#pragma: NO COVER']) 

+

1420 

+

1421 def test_excluding_while(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1422 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1423 a = 3; b = 0 

+

1424 while a*b: #pragma: NO COVER 

+

1425 b += 1 

+

1426 break 

+

1427 assert a == 3 and b == 0 

+

1428 """, 

+

1429 [1,5], "", excludes=['#pragma: NO COVER']) 

+

1430 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1431 a = 3; b = 0 

+

1432 while ( 

+

1433 a*b 

+

1434 ): #pragma: NO COVER 

+

1435 b += 1 

+

1436 break 

+

1437 assert a == 3 and b == 0 

+

1438 """, 

+

1439 [1,7], "", excludes=['#pragma: NO COVER']) 

+

1440 

+

1441 def test_excluding_while_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1442 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1443 a = 3; b = 0 

+

1444 while a: 

+

1445 b += 1 

+

1446 break 

+

1447 else: #pragma: NO COVER 

+

1448 b = 123 

+

1449 assert a == 3 and b == 1 

+

1450 """, 

+

1451 [1,2,3,4,7], "", excludes=['#pragma: NO COVER']) 

+

1452 

+

1453 def test_excluding_try_except(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1454 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1455 a = 0 

+

1456 try: 

+

1457 a = 1 

+

1458 except: #pragma: NO COVER 

+

1459 a = 99 

+

1460 assert a == 1 

+

1461 """, 

+

1462 [1,2,3,6], "", excludes=['#pragma: NO COVER']) 

+

1463 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1464 a = 0 

+

1465 try: 

+

1466 a = 1 

+

1467 raise Exception("foo") 

+

1468 except: 

+

1469 a = 99 

+

1470 assert a == 99 

+

1471 """, 

+

1472 [1,2,3,4,5,6,7], "", excludes=['#pragma: NO COVER']) 

+

1473 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1474 a = 0 

+

1475 try: 

+

1476 a = 1 

+

1477 raise Exception("foo") 

+

1478 except ImportError: #pragma: NO COVER 

+

1479 a = 99 

+

1480 except: 

+

1481 a = 123 

+

1482 assert a == 123 

+

1483 """, 

+

1484 [1,2,3,4,7,8,9], "", excludes=['#pragma: NO COVER']) 

+

1485 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1486 a = 0 

+

1487 try: 

+

1488 a = 1 

+

1489 except: #pragma: NO COVER 

+

1490 a = 99 

+

1491 else: 

+

1492 a = 123 

+

1493 assert a == 123 

+

1494 """, 

+

1495 [1,2,3,7,8], "", excludes=['#pragma: NO COVER'], 

+

1496 arcz=".1 12 23 37 45 58 78 8.", 

+

1497 arcz_missing="58", 

+

1498 ) 

+

1499 

+

1500 def test_excluding_try_except_stranded_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1501 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1502 # The else can't be reached because the try ends with a raise. 

+

1503 arcz = ".1 12 23 34 45 56 69 9." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1504 arcz_missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1505 else: 

+

1506 arcz = ".1 12 23 34 45 56 69 89 9." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1507 arcz_missing = "89" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1508 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1509 a = 0 

+

1510 try: 

+

1511 a = 1 

+

1512 raise Exception("foo") 

+

1513 except: 

+

1514 a = 99 

+

1515 else: #pragma: NO COVER 

+

1516 x = 2 

+

1517 assert a == 99 

+

1518 """, 

+

1519 [1,2,3,4,5,6,9], "", excludes=['#pragma: NO COVER'], 

+

1520 arcz=arcz, 

+

1521 arcz_missing=arcz_missing, 

+

1522 ) 

+

1523 

+

1524 def test_excluding_if_pass(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1525 # From a comment on the coverage.py page by Michael McNeil Forbes: 

+

1526 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1527 def f(): 

+

1528 if False: # pragma: no cover 

+

1529 pass # This line still reported as missing 

+

1530 if False: # pragma: no cover 

+

1531 x = 1 # Now it is skipped. 

+

1532 

+

1533 f() 

+

1534 """, 

+

1535 [1,7], "", excludes=["no cover"]) 

+

1536 

+

1537 def test_excluding_function(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1538 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1539 def fn(foo): #pragma: NO COVER 

+

1540 a = 1 

+

1541 b = 2 

+

1542 c = 3 

+

1543 

+

1544 x = 1 

+

1545 assert x == 1 

+

1546 """, 

+

1547 [6,7], "", excludes=['#pragma: NO COVER']) 

+

1548 

+

1549 def test_excluding_method(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1550 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1551 class Fooey: 

+

1552 def __init__(self): 

+

1553 self.a = 1 

+

1554 

+

1555 def foo(self): #pragma: NO COVER 

+

1556 return self.a 

+

1557 

+

1558 x = Fooey() 

+

1559 assert x.a == 1 

+

1560 """, 

+

1561 [1,2,3,8,9], "", excludes=['#pragma: NO COVER']) 

+

1562 

+

1563 def test_excluding_class(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1564 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1565 class Fooey: #pragma: NO COVER 

+

1566 def __init__(self): 

+

1567 self.a = 1 

+

1568 

+

1569 def foo(self): 

+

1570 return self.a 

+

1571 

+

1572 x = 1 

+

1573 assert x == 1 

+

1574 """, 

+

1575 [8,9], "", excludes=['#pragma: NO COVER']) 

+

1576 

+

1577 def test_excludes_non_ascii(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1578 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1579 # coding: utf-8 

+

1580 a = 1; b = 2 

+

1581 

+

1582 if len([]): 

+

1583 a = 5 # ✘cover 

+

1584 """, 

+

1585 [2, 4], "", excludes=['✘cover'] 

+

1586 ) 

+

1587 

+

1588 def test_formfeed(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1589 # https://github.com/nedbat/coveragepy/issues/461 

+

1590 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1591 x = 1 

+

1592 assert len([]) == 0, ( 

+

1593 "This won't happen %s" % ("hello",) 

+

1594 ) 

+

1595 \f 

+

1596 x = 6 

+

1597 assert len([]) == 0, ( 

+

1598 "This won't happen %s" % ("hello",) 

+

1599 ) 

+

1600 """, 

+

1601 [1, 6], "", excludes=['assert'], 

+

1602 ) 

+

1603 

+

1604 def test_excluded_comprehension_branches(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1605 # https://github.com/nedbat/coveragepy/issues/1271 

+

1606 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1607 x, y = [0], [1] 

+

1608 if x == [2]: 

+

1609 raise NotImplementedError # pragma: NO COVER 

+

1610 if all(_ == __ for _, __ in zip(x, y)): 

+

1611 raise NotImplementedError # pragma: NO COVER 

+

1612 """, 

+

1613 [1,2,4], "", excludes=['#pragma: NO COVER'], 

+

1614 arcz=".1 12 23 24 45 4. -44 4-4", 

+

1615 arcz_missing="4-4", 

+

1616 ) 

+

1617 

+

1618 

+

1619class Py24Test(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1620 """Tests of new syntax in Python 2.4.""" 

+

1621 

+

1622 def test_function_decorators(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1623 lines = [1, 2, 3, 4, 6, 8, 10, 12] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1624 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1625 lines = sorted(lines + [9]) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1626 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1627 def require_int(func): 

+

1628 def wrapper(arg): 

+

1629 assert isinstance(arg, int) 

+

1630 return func(arg) 

+

1631 

+

1632 return wrapper 

+

1633 

+

1634 @require_int 

+

1635 def p1(arg): 

+

1636 return arg*2 

+

1637 

+

1638 assert p1(10) == 20 

+

1639 """, 

+

1640 lines, "") 

+

1641 

+

1642 def test_function_decorators_with_args(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1643 lines = [1, 2, 3, 4, 5, 6, 8, 10, 12] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1644 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1645 lines = sorted(lines + [9]) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1646 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1647 def boost_by(extra): 

+

1648 def decorator(func): 

+

1649 def wrapper(arg): 

+

1650 return extra*func(arg) 

+

1651 return wrapper 

+

1652 return decorator 

+

1653 

+

1654 @boost_by(10) 

+

1655 def boosted(arg): 

+

1656 return arg*2 

+

1657 

+

1658 assert boosted(10) == 200 

+

1659 """, 

+

1660 lines, "") 

+

1661 

+

1662 def test_double_function_decorators(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1663 lines = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 17, 19, 21, 22, 24, 26] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1664 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1665 lines = sorted(lines + [16, 23]) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1666 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1667 def require_int(func): 

+

1668 def wrapper(arg): 

+

1669 assert isinstance(arg, int) 

+

1670 return func(arg) 

+

1671 return wrapper 

+

1672 

+

1673 def boost_by(extra): 

+

1674 def decorator(func): 

+

1675 def wrapper(arg): 

+

1676 return extra*func(arg) 

+

1677 return wrapper 

+

1678 return decorator 

+

1679 

+

1680 @require_int 

+

1681 @boost_by(10) 

+

1682 def boosted1(arg): 

+

1683 return arg*2 

+

1684 

+

1685 assert boosted1(10) == 200 

+

1686 

+

1687 @boost_by(10) 

+

1688 @require_int 

+

1689 def boosted2(arg): 

+

1690 return arg*2 

+

1691 

+

1692 assert boosted2(10) == 200 

+

1693 """, 

+

1694 lines, "") 

+

1695 

+

1696 

+

1697class Py25Test(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1698 """Tests of new syntax in Python 2.5.""" 

+

1699 

+

1700 def test_with_statement(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1701 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1702 class Managed: 

+

1703 def __enter__(self): 

+

1704 desc = "enter" 

+

1705 

+

1706 def __exit__(self, type, value, tb): 

+

1707 desc = "exit" 

+

1708 

+

1709 m = Managed() 

+

1710 with m: 

+

1711 desc = "block1a" 

+

1712 desc = "block1b" 

+

1713 

+

1714 try: 

+

1715 with m: 

+

1716 desc = "block2" 

+

1717 raise Exception("Boo!") 

+

1718 except: 

+

1719 desc = "caught" 

+

1720 """, 

+

1721 [1,2,3,5,6,8,9,10,11,13,14,15,16,17,18], "") 

+

1722 

+

1723 def test_try_except_finally(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1724 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1725 a = 0; b = 0 

+

1726 try: 

+

1727 a = 1 

+

1728 except: 

+

1729 a = 99 

+

1730 finally: 

+

1731 b = 2 

+

1732 assert a == 1 and b == 2 

+

1733 """, 

+

1734 [1,2,3,4,5,7,8], "4-5", 

+

1735 arcz=".1 12 23 37 45 57 78 8.", arcz_missing="45 57", 

+

1736 ) 

+

1737 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1738 a = 0; b = 0 

+

1739 try: 

+

1740 a = 1 

+

1741 raise Exception("foo") 

+

1742 except: 

+

1743 a = 99 

+

1744 finally: 

+

1745 b = 2 

+

1746 assert a == 99 and b == 2 

+

1747 """, 

+

1748 [1,2,3,4,5,6,8,9], "", 

+

1749 arcz=".1 12 23 34 45 56 68 89 9.", 

+

1750 ) 

+

1751 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1752 a = 0; b = 0 

+

1753 try: 

+

1754 a = 1 

+

1755 raise Exception("foo") 

+

1756 except ImportError: 

+

1757 a = 99 

+

1758 except: 

+

1759 a = 123 

+

1760 finally: 

+

1761 b = 2 

+

1762 assert a == 123 and b == 2 

+

1763 """, 

+

1764 [1,2,3,4,5,6,7,8,10,11], "6", 

+

1765 arcz=".1 12 23 34 45 56 57 78 6A 8A AB B.", arcz_missing="56 6A", 

+

1766 ) 

+

1767 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1768 a = 0; b = 0 

+

1769 try: 

+

1770 a = 1 

+

1771 raise IOError("foo") 

+

1772 except ImportError: 

+

1773 a = 99 

+

1774 except IOError: 

+

1775 a = 17 

+

1776 except: 

+

1777 a = 123 

+

1778 finally: 

+

1779 b = 2 

+

1780 assert a == 17 and b == 2 

+

1781 """, 

+

1782 [1,2,3,4,5,6,7,8,9,10,12,13], "6, 9-10", 

+

1783 arcz=".1 12 23 34 45 56 6C 57 78 8C 79 9A AC CD D.", 

+

1784 arcz_missing="56 6C 79 9A AC", 

+

1785 ) 

+

1786 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1787 a = 0; b = 0 

+

1788 try: 

+

1789 a = 1 

+

1790 except: 

+

1791 a = 99 

+

1792 else: 

+

1793 a = 123 

+

1794 finally: 

+

1795 b = 2 

+

1796 assert a == 123 and b == 2 

+

1797 """, 

+

1798 [1,2,3,4,5,7,9,10], "4-5", 

+

1799 arcz=".1 12 23 37 45 59 79 9A A.", 

+

1800 arcz_missing="45 59", 

+

1801 ) 

+

1802 

+

1803 def test_try_except_finally_stranded_else(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1804 if env.PYBEHAVIOR.omit_after_jump: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1805 # The else can't be reached because the try ends with a raise. 

+

1806 lines = [1,2,3,4,5,6,10,11] 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1807 missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1808 arcz = ".1 12 23 34 45 56 6A AB B." 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1809 arcz_missing = "" 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1810 else: 

+

1811 lines = [1,2,3,4,5,6,8,10,11] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1812 missing = "8" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1813 arcz = ".1 12 23 34 45 56 6A 8A AB B." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1814 arcz_missing = "8A" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1815 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1816 a = 0; b = 0 

+

1817 try: 

+

1818 a = 1 

+

1819 raise Exception("foo") 

+

1820 except: 

+

1821 a = 99 

+

1822 else: 

+

1823 a = 123 

+

1824 finally: 

+

1825 b = 2 

+

1826 assert a == 99 and b == 2 

+

1827 """, 

+

1828 lines=lines, 

+

1829 missing=missing, 

+

1830 arcz=arcz, 

+

1831 arcz_missing=arcz_missing, 

+

1832 ) 

+

1833 

+

1834 

+

1835class ModuleTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1836 """Tests for the module-level behavior of the `coverage` module.""" 

+

1837 

+

1838 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1839 

+

1840 def test_not_singleton(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1841 # You *can* create another coverage object. 

+

1842 coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1843 coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1844 

+

1845 def test_old_name_and_new_name(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1846 assert coverage.coverage is coverage.Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1847 

+

1848 

+

1849class ReportingTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1850 """Tests of some reporting behavior.""" 

+

1851 

+

1852 def test_no_data_to_report_on_annotate(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1853 # Reporting with no data produces a nice message and no output 

+

1854 # directory. 

+

1855 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1856 self.command_line("annotate -d ann") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1857 self.assert_doesnt_exist("ann") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1858 

+

1859 def test_no_data_to_report_on_html(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1860 # Reporting with no data produces a nice message and no output 

+

1861 # directory. 

+

1862 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1863 self.command_line("html -d htmlcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1864 self.assert_doesnt_exist("htmlcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1865 

+

1866 def test_no_data_to_report_on_xml(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1867 # Reporting with no data produces a nice message. 

+

1868 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1869 self.command_line("xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1870 self.assert_doesnt_exist("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_data_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_data_py.html new file mode 100644 index 000000000..d9035a12e --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_data_py.html @@ -0,0 +1,1116 @@ + + + + + Coverage for tests/test_data.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_data.py: + 100.000% +

+ +

+ 701 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.data""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import sqlite3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import threading 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15from typing import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 Any, Callable, Collection, Dict, Iterable, Mapping, Set, TypeVar, Union 

+

17) 

+

18from unittest import mock 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22from coverage.data import CoverageData, combine_parallel_data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.data import add_data_to_hash, line_counts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.debug import DebugControlString 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.exceptions import DataError, NoDataError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.files import PathAliases, canonical_filename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.types import FilePathClasses, FilePathType, TArc, TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30from tests.helpers import assert_count_equal 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 

+

32 

+

33LINES_1 = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 'a.py': {1, 2}, 

+

35 'b.py': {3}, 

+

36} 

+

37SUMMARY_1 = {'a.py': 2, 'b.py': 1} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38MEASURED_FILES_1 = ['a.py', 'b.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39A_PY_LINES_1 = [1, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40B_PY_LINES_1 = [3] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 

+

42LINES_2 = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 'a.py': {1, 5}, 

+

44 'c.py': {17}, 

+

45} 

+

46SUMMARY_1_2 = {'a.py': 3, 'b.py': 1, 'c.py': 1} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47MEASURED_FILES_1_2 = ['a.py', 'b.py', 'c.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49ARCS_3 = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 'x.py': {(-1, 1), (1, 2), (2, 3), (3, -1)}, 

+

51 'y.py': {(-1, 17), (17, 23), (23, -1)}, 

+

52} 

+

53X_PY_ARCS_3 = [(-1, 1), (1, 2), (2, 3), (3, -1)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54Y_PY_ARCS_3 = [(-1, 17), (17, 23), (23, -1)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55SUMMARY_3 = {'x.py': 3, 'y.py': 2} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56MEASURED_FILES_3 = ['x.py', 'y.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57X_PY_LINES_3 = [1, 2, 3] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58Y_PY_LINES_3 = [17, 23] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 

+

60ARCS_4 = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 'x.py': {(-1, 2), (2, 5), (5, -1)}, 

+

62 'z.py': {(-1, 1000), (1000, -1)}, 

+

63} 

+

64SUMMARY_3_4 = {'x.py': 4, 'y.py': 2, 'z.py': 1} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65MEASURED_FILES_3_4 = ['x.py', 'y.py', 'z.py'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 

+

67 

+

68def DebugCoverageData(*args: Any, **kwargs: Any) -> CoverageData: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 """Factory for CovergeData instances with debugging turned on. 

+

70 

+

71 This lets us exercise the debugging lines in sqldata.py. We don't make 

+

72 any assertions about the debug output, but at least we can know that they 

+

73 execute successfully, and they won't be marked as distracting missing 

+

74 lines in our coverage reports. 

+

75 """ 

+

76 assert "debug" not in kwargs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 options = ["dataio", "dataop", "sql"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 if kwargs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 # There's no reason kwargs should imply sqldata debugging. 

+

80 # This is a way to get a mix of debug options across the tests. 

+

81 options.extend(["sqldata"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 debug = DebugControlString(options=options) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 return CoverageData(*args, debug=debug, **kwargs) # type: ignore[misc] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 

+

85 

+

86TCoverageData = Callable[..., CoverageData] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 

+

88def assert_line_counts( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

89 covdata: CoverageData, 

+

90 counts: Mapping[str, int], 

+

91 fullpath: bool = False, 

+

92) -> None: 

+

93 """Check that the line_counts of `covdata` is `counts`.""" 

+

94 assert line_counts(covdata, fullpath) == counts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96def assert_measured_files(covdata: CoverageData, measured: Iterable[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 """Check that `covdata`'s measured files are `measured`.""" 

+

98 assert_count_equal(covdata.measured_files(), measured) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 

+

100def assert_lines1_data(covdata: CoverageData) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 """Check that `covdata` has the data from LINES1.""" 

+

102 assert_line_counts(covdata, SUMMARY_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 assert_measured_files(covdata, MEASURED_FILES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 assert_count_equal(covdata.lines("a.py"), A_PY_LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 assert not covdata.has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 

+

107def assert_arcs3_data(covdata: CoverageData) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 """Check that `covdata` has the data from ARCS3.""" 

+

109 assert_line_counts(covdata, SUMMARY_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 assert_measured_files(covdata, MEASURED_FILES_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 assert_count_equal(covdata.lines("x.py"), X_PY_LINES_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 assert_count_equal(covdata.arcs("x.py"), X_PY_ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 assert_count_equal(covdata.lines("y.py"), Y_PY_LINES_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 assert_count_equal(covdata.arcs("y.py"), Y_PY_ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 assert covdata.has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 

+

117 

+

118TData = TypeVar("TData", bound=Union[TLineNo, TArc]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 

+

120def dicts_from_sets(file_data: Dict[str, Set[TData]]) -> Dict[str, Dict[TData, None]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 """Convert a dict of sets into a dict of dicts. 

+

122 

+

123 Before 6.0, file data was a dict with None as the values. In 6.0, file 

+

124 data is a set. SqlData all along only cared that it was an iterable. 

+

125 This function helps us test that the old dict format still works. 

+

126 """ 

+

127 return {k: dict.fromkeys(v) for k, v in file_data.items()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 

+

129 

+

130class CoverageDataTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 """Test cases for CoverageData.""" 

+

132 

+

133 def test_empty_data_is_false(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 assert not covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 

+

138 def test_empty_data_is_false_when_read(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 covdata.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 assert not covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 

+

144 def test_line_data_is_true(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 assert covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 

+

149 def test_arc_data_is_true(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 assert covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 

+

154 def test_empty_line_data_is_false(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 covdata.add_lines({}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 assert not covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 

+

159 def test_empty_arc_data_is_false(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 covdata.add_arcs({}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 assert not covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 

+

164 @pytest.mark.parametrize("lines", [LINES_1, dicts_from_sets(LINES_1)]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 def test_adding_lines(self, lines: Mapping[str, Collection[TLineNo]]) -> None: 

+

166 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 covdata.add_lines(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 assert_lines1_data(covdata) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 

+

170 @pytest.mark.parametrize("arcs", [ARCS_3, dicts_from_sets(ARCS_3)]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 def test_adding_arcs(self, arcs: Mapping[str, Collection[TArc]]) -> None: 

+

172 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 covdata.add_arcs(arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 assert_arcs3_data(covdata) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 

+

176 def test_ok_to_add_lines_twice(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 covdata.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 assert_line_counts(covdata, SUMMARY_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 assert_measured_files(covdata, MEASURED_FILES_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 

+

183 def test_ok_to_add_arcs_twice(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 covdata.add_arcs(ARCS_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 assert_line_counts(covdata, SUMMARY_3_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 assert_measured_files(covdata, MEASURED_FILES_3_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 

+

190 def test_ok_to_add_empty_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 covdata.add_arcs(ARCS_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 covdata.add_arcs(dict.fromkeys(ARCS_3, set())) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 assert_line_counts(covdata, SUMMARY_3_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 assert_measured_files(covdata, MEASURED_FILES_3_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 

+

198 @pytest.mark.parametrize("klass", [CoverageData, DebugCoverageData]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 def test_cant_add_arcs_with_lines(self, klass: TCoverageData) -> None: 

+

200 covdata = klass() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 msg = "Can't add branch measurements to existing line data" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 

+

206 @pytest.mark.parametrize("klass", [CoverageData, DebugCoverageData]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 def test_cant_add_lines_with_arcs(self, klass: TCoverageData) -> None: 

+

208 covdata = klass() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 msg = "Can't add line measurements to existing branch data" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 

+

214 def test_touch_file_with_lines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 covdata.touch_file('zzz.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 assert_measured_files(covdata, MEASURED_FILES_1 + ['zzz.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 

+

220 def test_touch_file_with_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 covdata.touch_file('zzz.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 assert_measured_files(covdata, MEASURED_FILES_3 + ['zzz.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 

+

226 def test_set_query_contexts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 covdata.set_context('test_a') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 covdata.set_query_contexts(['te.*a']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 assert covdata.lines('a.py') == [1, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 covdata.set_query_contexts(['other']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 assert covdata.lines('a.py') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 

+

235 def test_no_lines_vs_unmeasured_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 covdata.touch_file('zzz.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 assert covdata.lines('zzz.py') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 assert covdata.lines('no_such_file.py') is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 

+

242 def test_lines_with_contexts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 covdata.set_context('test_a') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 assert covdata.lines('a.py') == [1, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 covdata.set_query_contexts(['test']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 assert covdata.lines('a.py') == [1, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 covdata.set_query_contexts(['other']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 assert covdata.lines('a.py') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 

+

252 def test_contexts_by_lineno_with_lines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 covdata.set_context('test_a') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 expected = {1: ['test_a'], 2: ['test_a']} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 assert covdata.contexts_by_lineno('a.py') == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 

+

259 @pytest.mark.parametrize("lines", [LINES_1, dicts_from_sets(LINES_1)]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 def test_no_duplicate_lines(self, lines: Mapping[str, Collection[TLineNo]]) -> None: 

+

261 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 covdata.set_context("context1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 covdata.add_lines(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 covdata.set_context("context2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 covdata.add_lines(lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 assert covdata.lines('a.py') == A_PY_LINES_1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 

+

268 @pytest.mark.parametrize("arcs", [ARCS_3, dicts_from_sets(ARCS_3)]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 def test_no_duplicate_arcs(self, arcs: Mapping[str, Collection[TArc]]) -> None: 

+

270 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 covdata.set_context("context1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 covdata.add_arcs(arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 covdata.set_context("context2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 covdata.add_arcs(arcs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 assert covdata.arcs('x.py') == X_PY_ARCS_3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 

+

277 def test_no_arcs_vs_unmeasured_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 covdata.touch_file('zzz.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 assert covdata.lines('zzz.py') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 assert covdata.lines('no_such_file.py') is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 assert covdata.arcs('zzz.py') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 assert covdata.arcs('no_such_file.py') is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 

+

286 def test_arcs_with_contexts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 covdata.set_context('test_x') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 assert covdata.arcs('x.py') == [(-1, 1), (1, 2), (2, 3), (3, -1)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 covdata.set_query_contexts(['test_.$']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 assert covdata.arcs('x.py') == [(-1, 1), (1, 2), (2, 3), (3, -1)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 covdata.set_query_contexts(['other']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 assert covdata.arcs('x.py') == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 

+

296 def test_contexts_by_lineno_with_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 covdata.set_context('test_x') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 expected = {1: ['test_x'], 2: ['test_x'], 3: ['test_x']} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 assert covdata.contexts_by_lineno('x.py') == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 

+

303 def test_contexts_by_lineno_with_unknown_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 covdata.set_context('test_x') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 assert covdata.contexts_by_lineno('xyz.py') == {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 

+

309 def test_context_by_lineno_with_query_contexts_with_lines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 covdata.set_context("test_1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 covdata.set_context("test_2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 covdata.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 covdata.set_query_context("test_1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 assert covdata.contexts_by_lineno("a.py") == dict.fromkeys([1,2], ["test_1"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 

+

318 def test_context_by_lineno_with_query_contexts_with_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 covdata.set_context("test_1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 covdata.set_context("test_2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 covdata.add_arcs(ARCS_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 covdata.set_query_context("test_1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 assert covdata.contexts_by_lineno("x.py") == dict.fromkeys([1,2,3], ["test_1"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 

+

327 def test_file_tracer_name(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 covdata.add_lines({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

330 "p1.foo": [1, 2, 3], 

+

331 "p2.html": [10, 11, 12], 

+

332 "main.py": [20], 

+

333 }) 

+

334 covdata.add_file_tracers({"p1.foo": "p1.plugin", "p2.html": "p2.plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 assert covdata.file_tracer("p1.foo") == "p1.plugin" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 assert covdata.file_tracer("p2.html") == "p2.plugin" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 assert covdata.file_tracer("main.py") == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

338 assert covdata.file_tracer("p3.not_here") is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 

+

340 def test_ok_to_repeat_file_tracer(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 covdata.add_lines({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 "p1.foo": [1, 2, 3], 

+

344 "p2.html": [10, 11, 12], 

+

345 }) 

+

346 covdata.add_file_tracers({"p1.foo": "p1.plugin", "p2.html": "p2.plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

347 covdata.add_file_tracers({"p1.foo": "p1.plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 assert covdata.file_tracer("p1.foo") == "p1.plugin" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 

+

350 def test_ok_to_set_empty_file_tracer(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 covdata.add_lines({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 "p1.foo": [1, 2, 3], 

+

354 "p2.html": [10, 11, 12], 

+

355 "main.py": [20], 

+

356 }) 

+

357 covdata.add_file_tracers({"p1.foo": "p1.plugin", "main.py": ""}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 assert covdata.file_tracer("p1.foo") == "p1.plugin" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 assert covdata.file_tracer("main.py") == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

360 

+

361 def test_cant_change_file_tracer_name(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 covdata.add_lines({"p1.foo": [1, 2, 3]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 covdata.add_file_tracers({"p1.foo": "p1.plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 

+

366 msg = "Conflicting file tracer name for 'p1.foo': 'p1.plugin' vs 'p1.plugin.foo'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

367 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

368 covdata.add_file_tracers({"p1.foo": "p1.plugin.foo"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 

+

370 def test_update_lines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 

+

374 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 covdata2.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 

+

377 covdata3 = DebugCoverageData(suffix='3') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 covdata3.update(covdata1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

379 covdata3.update(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

380 

+

381 assert_line_counts(covdata3, SUMMARY_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 assert_measured_files(covdata3, MEASURED_FILES_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

383 

+

384 def test_update_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

385 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 covdata1.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 

+

388 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 covdata2.add_arcs(ARCS_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 

+

391 covdata3 = DebugCoverageData(suffix='3') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

392 covdata3.update(covdata1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 covdata3.update(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

394 

+

395 assert_line_counts(covdata3, SUMMARY_3_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 assert_measured_files(covdata3, MEASURED_FILES_3_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 

+

398 def test_update_cant_mix_lines_and_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

399 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 

+

402 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 covdata2.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

404 

+

405 with pytest.raises(DataError, match="Can't combine arc data with line data"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

406 covdata1.update(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 

+

408 with pytest.raises(DataError, match="Can't combine line data with arc data"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 covdata2.update(covdata1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 

+

411 def test_update_file_tracers(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

412 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

413 covdata1.add_lines({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

414 "p1.html": [1, 2, 3, 4], 

+

415 "p2.html": [5, 6, 7], 

+

416 "main.py": [10, 11, 12], 

+

417 }) 

+

418 covdata1.add_file_tracers({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 "p1.html": "html.plugin", 

+

420 "p2.html": "html.plugin2", 

+

421 }) 

+

422 

+

423 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 covdata2.add_lines({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 "p1.html": [3, 4, 5, 6], 

+

426 "p2.html": [7, 8, 9], 

+

427 "p3.foo": [1000, 1001], 

+

428 "main.py": [10, 11, 12], 

+

429 }) 

+

430 covdata2.add_file_tracers({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 "p1.html": "html.plugin", 

+

432 "p2.html": "html.plugin2", 

+

433 "p3.foo": "foo_plugin", 

+

434 }) 

+

435 

+

436 covdata3 = DebugCoverageData(suffix='3') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 covdata3.update(covdata1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

438 covdata3.update(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

439 assert covdata3.file_tracer("p1.html") == "html.plugin" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 assert covdata3.file_tracer("p2.html") == "html.plugin2" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

441 assert covdata3.file_tracer("p3.foo") == "foo_plugin" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 assert covdata3.file_tracer("main.py") == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 

+

444 def test_update_conflicting_file_tracers(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 covdata1.add_lines({"p1.html": [1, 2, 3]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 covdata1.add_file_tracers({"p1.html": "html.plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 

+

449 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 covdata2.add_lines({"p1.html": [1, 2, 3]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 covdata2.add_file_tracers({"p1.html": "html.other_plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

452 

+

453 msg = "Conflicting file tracer name for 'p1.html': 'html.plugin' vs 'html.other_plugin'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 covdata1.update(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

456 

+

457 msg = "Conflicting file tracer name for 'p1.html': 'html.other_plugin' vs 'html.plugin'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 covdata2.update(covdata1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 

+

461 def test_update_file_tracer_vs_no_file_tracer(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

462 covdata1 = DebugCoverageData(suffix="1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 covdata1.add_lines({"p1.html": [1, 2, 3]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

464 covdata1.add_file_tracers({"p1.html": "html.plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

465 

+

466 covdata2 = DebugCoverageData(suffix="2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

467 covdata2.add_lines({"p1.html": [1, 2, 3]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 

+

469 msg = "Conflicting file tracer name for 'p1.html': 'html.plugin' vs ''" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 covdata1.update(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

472 

+

473 msg = "Conflicting file tracer name for 'p1.html': '' vs 'html.plugin'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 covdata2.update(covdata1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

476 

+

477 def test_update_lines_empty(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 

+

481 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

482 covdata1.update(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 assert_line_counts(covdata1, SUMMARY_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 

+

485 def test_update_arcs_empty(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

487 covdata1.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

488 

+

489 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 covdata1.update(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

491 assert_line_counts(covdata1, SUMMARY_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 

+

493 def test_asking_isnt_measuring(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

494 # Asking about an unmeasured file shouldn't make it seem measured. 

+

495 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

496 assert_measured_files(covdata, []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 assert covdata.arcs("missing.py") is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 assert_measured_files(covdata, []) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

499 

+

500 def test_add_to_hash_with_lines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

501 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 hasher = mock.Mock() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 add_data_to_hash(covdata, "a.py", hasher) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 assert hasher.method_calls == [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 mock.call.update([1, 2]), # lines 

+

507 mock.call.update(""), # file_tracer name 

+

508 ] 

+

509 

+

510 def test_add_to_hash_with_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

512 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 covdata.add_file_tracers({"y.py": "hologram_plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 hasher = mock.Mock() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 add_data_to_hash(covdata, "y.py", hasher) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

516 assert hasher.method_calls == [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

517 mock.call.update([(-1, 17), (17, 23), (23, -1)]), # arcs 

+

518 mock.call.update("hologram_plugin"), # file_tracer name 

+

519 ] 

+

520 

+

521 def test_add_to_lines_hash_with_missing_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 # https://github.com/nedbat/coveragepy/issues/403 

+

523 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

524 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

525 hasher = mock.Mock() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

526 add_data_to_hash(covdata, "missing.py", hasher) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

527 assert hasher.method_calls == [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

528 mock.call.update([]), 

+

529 mock.call.update(None), 

+

530 ] 

+

531 

+

532 def test_add_to_arcs_hash_with_missing_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 # https://github.com/nedbat/coveragepy/issues/403 

+

534 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

536 covdata.add_file_tracers({"y.py": "hologram_plugin"}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

537 hasher = mock.Mock() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 add_data_to_hash(covdata, "missing.py", hasher) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 assert hasher.method_calls == [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

540 mock.call.update([]), 

+

541 mock.call.update(None), 

+

542 ] 

+

543 

+

544 def test_empty_lines_are_still_lines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

545 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 covdata.add_lines({}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 covdata.touch_file("abc.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

548 assert not covdata.has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

549 

+

550 def test_empty_arcs_are_still_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

552 covdata.add_arcs({}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 covdata.touch_file("abc.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 assert covdata.has_arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

555 

+

556 def test_cant_touch_in_empty_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

557 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

558 msg = "Can't touch files in an empty CoverageData" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

559 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

560 covdata.touch_file("abc.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

561 

+

562 def test_read_and_write_are_opposites(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 covdata1 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

564 covdata1.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

565 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 

+

567 covdata2 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 covdata2.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

569 assert_arcs3_data(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 

+

571 def test_thread_stress(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 exceptions = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

574 

+

575 def thread_main() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

576 """Every thread will try to add the same data.""" 

+

577 try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

578 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 except Exception as ex: # pragma: only failure 

+

580 exceptions.append(ex) 

+

581 

+

582 threads = [threading.Thread(target=thread_main) for _ in range(10)] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

583 for t in threads: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

584 t.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

585 for t in threads: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

586 t.join() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

587 

+

588 assert_lines1_data(covdata) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

589 assert not exceptions 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

590 

+

591 def test_purge_files_lines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

592 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

594 covdata.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

595 assert_line_counts(covdata, SUMMARY_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

596 covdata.purge_files(["a.py", "b.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

597 assert_line_counts(covdata, {"a.py": 0, "b.py": 0, "c.py": 1}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

598 covdata.purge_files(["c.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

599 assert_line_counts(covdata, {"a.py": 0, "b.py": 0, "c.py": 0}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

600 # It's OK to "purge" a file that wasn't measured. 

+

601 covdata.purge_files(["xyz.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

602 assert_line_counts(covdata, {"a.py": 0, "b.py": 0, "c.py": 0}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

603 

+

604 def test_purge_files_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

605 covdata = CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 covdata.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

607 covdata.add_arcs(ARCS_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

608 assert_line_counts(covdata, SUMMARY_3_4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

609 covdata.purge_files(["x.py", "y.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

610 assert_line_counts(covdata, {"x.py": 0, "y.py": 0, "z.py": 1}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

611 covdata.purge_files(["z.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

612 assert_line_counts(covdata, {"x.py": 0, "y.py": 0, "z.py": 0}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

613 

+

614 def test_cant_purge_in_empty_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

615 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

616 msg = "Can't purge files in an empty CoverageData" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

618 covdata.purge_files(["abc.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

619 

+

620 

+

621class CoverageDataInTempDirTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

622 """Tests of CoverageData that need a temporary directory to make files.""" 

+

623 

+

624 @pytest.mark.parametrize("file_class", FilePathClasses) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

625 def test_read_write_lines(self, file_class: FilePathType) -> None: 

+

626 self.assert_doesnt_exist("lines.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 covdata1 = DebugCoverageData(file_class("lines.dat")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

628 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

629 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 self.assert_exists("lines.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

631 

+

632 covdata2 = DebugCoverageData("lines.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 covdata2.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

634 assert_lines1_data(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

635 

+

636 def test_read_write_arcs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

637 covdata1 = DebugCoverageData("arcs.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

638 covdata1.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

640 

+

641 covdata2 = DebugCoverageData("arcs.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

642 covdata2.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

643 assert_arcs3_data(covdata2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

644 

+

645 def test_read_errors(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 self.make_file("xyzzy.dat", "xyzzy") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

647 with pytest.raises(DataError, match=r"Couldn't .* '.*[/\\]xyzzy.dat': \S+"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

648 covdata = DebugCoverageData("xyzzy.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 covdata.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

650 assert not covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

651 

+

652 def test_hard_read_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

653 self.make_file("noperms.dat", "go away") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

654 os.chmod("noperms.dat", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

655 with pytest.raises(DataError, match=r"Couldn't .* '.*[/\\]noperms.dat': \S+"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

656 covdata = DebugCoverageData("noperms.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 covdata.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

658 

+

659 @pytest.mark.parametrize("klass", [CoverageData, DebugCoverageData]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

660 def test_error_when_closing(self, klass: TCoverageData) -> None: 

+

661 msg = r"Couldn't .* '.*[/\\]flaked.dat': \S+" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

662 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

663 covdata = klass("flaked.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

664 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

665 # I don't know how to make a real error, so let's fake one. 

+

666 sqldb = list(covdata._dbs.values())[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

667 sqldb.close = lambda: 1/0 # type: ignore[assignment] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

668 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

669 

+

670 def test_wrong_schema_version(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

671 with sqlite3.connect("wrong_schema.db") as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

672 con.execute("create table coverage_schema (version integer)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

673 con.execute("insert into coverage_schema (version) values (99)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

674 msg = r"Couldn't .* '.*[/\\]wrong_schema.db': wrong schema: 99 instead of \d+" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

676 covdata = DebugCoverageData("wrong_schema.db") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

677 covdata.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

678 assert not covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 

+

680 def test_wrong_schema_schema(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

681 with sqlite3.connect("wrong_schema_schema.db") as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

682 con.execute("create table coverage_schema (xyzzy integer)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

683 con.execute("insert into coverage_schema (xyzzy) values (99)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

684 msg = r"Data file .* doesn't seem to be a coverage data file: .* no such column" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

686 covdata = DebugCoverageData("wrong_schema_schema.db") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

687 covdata.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

688 assert not covdata 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

689 

+

690 

+

691class CoverageDataFilesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

692 """Tests of CoverageData file handling.""" 

+

693 

+

694 def test_reading_missing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

695 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

696 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

697 covdata.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 assert_line_counts(covdata, {}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

699 

+

700 def test_writing_and_reading(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

701 covdata1 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

702 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

703 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

704 

+

705 covdata2 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

706 covdata2.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

707 assert_line_counts(covdata2, SUMMARY_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

708 

+

709 def test_debug_output_with_debug_option(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 # With debug option dataio, we get debug output about reading and 

+

711 # writing files. 

+

712 debug = DebugControlString(options=["dataio"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

713 covdata1 = CoverageData(debug=debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

714 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

715 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

716 

+

717 covdata2 = CoverageData(debug=debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

718 covdata2.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

719 assert_line_counts(covdata2, SUMMARY_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

720 

+

721 assert re.search( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

722 r"^Erasing data file '.*\.coverage'\n" + 

+

723 r"Opening data file '.*\.coverage'\n" + 

+

724 r"Initing data file '.*\.coverage'\n" + 

+

725 r"Opening data file '.*\.coverage'\n$", 

+

726 debug.get_output() 

+

727 ) 

+

728 

+

729 def test_debug_output_without_debug_option(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

730 # With a debug object, but not the dataio option, we don't get debug 

+

731 # output. 

+

732 debug = DebugControlString(options=[]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

733 covdata1 = CoverageData(debug=debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

734 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

735 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

736 

+

737 covdata2 = CoverageData(debug=debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

738 covdata2.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

739 assert_line_counts(covdata2, SUMMARY_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

740 

+

741 assert debug.get_output() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

742 

+

743 def test_explicit_suffix(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

744 self.assert_doesnt_exist(".coverage.SUFFIX") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

745 covdata = DebugCoverageData(suffix='SUFFIX') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

746 covdata.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

747 covdata.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

748 self.assert_exists(".coverage.SUFFIX") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

749 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

750 

+

751 def test_true_suffix(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

752 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

753 

+

754 # suffix=True will make a randomly named data file. 

+

755 covdata1 = DebugCoverageData(suffix=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

756 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

758 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

759 data_files1 = glob.glob(".coverage.*") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

760 assert len(data_files1) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

761 

+

762 # Another suffix=True will choose a different name. 

+

763 covdata2 = DebugCoverageData(suffix=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

764 covdata2.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

765 covdata2.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

766 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

767 data_files2 = glob.glob(".coverage.*") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

768 assert len(data_files2) == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

769 

+

770 # In addition to being different, the suffixes have the pid in them. 

+

771 assert all(str(os.getpid()) in fn for fn in data_files2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

772 

+

773 def test_combining(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

774 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

775 

+

776 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

777 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

778 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

779 self.assert_exists(".coverage.1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

780 self.assert_file_count(".coverage.*", 1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

781 

+

782 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

783 covdata2.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

784 covdata2.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

785 self.assert_exists(".coverage.2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

786 self.assert_file_count(".coverage.*", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

787 

+

788 covdata3 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

789 combine_parallel_data(covdata3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

790 assert_line_counts(covdata3, SUMMARY_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

791 assert_measured_files(covdata3, MEASURED_FILES_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

792 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

793 

+

794 def test_erasing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

795 covdata1 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

796 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

797 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

798 

+

799 covdata1.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

800 assert_line_counts(covdata1, {}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

801 

+

802 covdata2 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

803 covdata2.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

804 assert_line_counts(covdata2, {}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

805 

+

806 def test_erasing_parallel(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

807 self.make_file("datafile.1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

808 self.make_file("datafile.2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

809 self.make_file(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

810 data = DebugCoverageData("datafile") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

811 data.erase(parallel=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

812 self.assert_file_count("datafile.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

813 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

814 

+

815 def test_combining_with_aliases(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

816 covdata1 = DebugCoverageData(suffix='1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

817 covdata1.add_lines({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

818 '/home/ned/proj/src/a.py': {1, 2}, 

+

819 '/home/ned/proj/src/sub/b.py': {3}, 

+

820 '/home/ned/proj/src/template.html': {10}, 

+

821 }) 

+

822 covdata1.add_file_tracers({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

823 '/home/ned/proj/src/template.html': 'html.plugin', 

+

824 }) 

+

825 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

826 

+

827 covdata2 = DebugCoverageData(suffix='2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

828 covdata2.add_lines({ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

829 r'c:\ned\test\a.py': {4, 5}, 

+

830 r'c:\ned\test\sub\b.py': {3, 6}, 

+

831 }) 

+

832 covdata2.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

833 

+

834 self.assert_file_count(".coverage.*", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

835 

+

836 self.make_file("a.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

837 self.make_file("sub/b.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

838 self.make_file("template.html", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

839 covdata3 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

840 aliases = PathAliases() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

841 aliases.add("/home/ned/proj/src/", "./") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

842 aliases.add(r"c:\ned\test", "./") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

843 combine_parallel_data(covdata3, aliases=aliases) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

844 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

845 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

846 

+

847 apy = canonical_filename('./a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

848 sub_bpy = canonical_filename('./sub/b.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

849 template_html = canonical_filename('./template.html') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

850 

+

851 assert_line_counts(covdata3, {apy: 4, sub_bpy: 2, template_html: 1}, fullpath=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

852 assert_measured_files(covdata3, [apy, sub_bpy, template_html]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

853 assert covdata3.file_tracer(template_html) == 'html.plugin' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

854 

+

855 def test_combining_from_different_directories(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

856 os.makedirs('cov1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

857 covdata1 = DebugCoverageData('cov1/.coverage.1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

858 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

859 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

860 

+

861 os.makedirs('cov2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

862 covdata2 = DebugCoverageData('cov2/.coverage.2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

863 covdata2.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

864 covdata2.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

865 

+

866 # This data won't be included. 

+

867 covdata_xxx = DebugCoverageData('.coverage.xxx') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

868 covdata_xxx.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

869 covdata_xxx.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

870 

+

871 covdata3 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

872 combine_parallel_data(covdata3, data_paths=['cov1', 'cov2']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

873 

+

874 assert_line_counts(covdata3, SUMMARY_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

875 assert_measured_files(covdata3, MEASURED_FILES_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

876 self.assert_doesnt_exist("cov1/.coverage.1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

877 self.assert_doesnt_exist("cov2/.coverage.2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

878 self.assert_exists(".coverage.xxx") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

879 

+

880 def test_combining_from_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

881 os.makedirs('cov1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

882 covdata1 = DebugCoverageData('cov1/.coverage.1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

883 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

884 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

885 

+

886 os.makedirs('cov2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

887 covdata2 = DebugCoverageData('cov2/.coverage.2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

888 covdata2.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

889 covdata2.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

890 

+

891 # This data won't be included. 

+

892 covdata_xxx = DebugCoverageData('.coverage.xxx') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

893 covdata_xxx.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

894 covdata_xxx.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

895 

+

896 covdata_2xxx = DebugCoverageData('cov2/.coverage.xxx') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

897 covdata_2xxx.add_arcs(ARCS_3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

898 covdata_2xxx.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

899 

+

900 covdata3 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

901 combine_parallel_data(covdata3, data_paths=['cov1', 'cov2/.coverage.2']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

902 

+

903 assert_line_counts(covdata3, SUMMARY_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

904 assert_measured_files(covdata3, MEASURED_FILES_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

905 self.assert_doesnt_exist("cov1/.coverage.1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

906 self.assert_doesnt_exist("cov2/.coverage.2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

907 self.assert_exists(".coverage.xxx") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

908 self.assert_exists("cov2/.coverage.xxx") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

909 

+

910 def test_combining_from_nonexistent_directories(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

911 covdata = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

912 msg = "Couldn't combine from non-existent path 'xyzzy'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

913 with pytest.raises(NoDataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

914 combine_parallel_data(covdata, data_paths=['xyzzy']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

915 

+

916 def test_interleaved_erasing_bug716(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

917 # pytest-cov could produce this scenario. #716 

+

918 covdata1 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

919 covdata2 = DebugCoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

920 # this used to create the .coverage database file.. 

+

921 covdata2.set_context("") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

922 # then this would erase it all.. 

+

923 covdata1.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

924 # then this would try to use tables that no longer exist. 

+

925 # "no such table: meta" 

+

926 covdata2.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

927 

+

928 @pytest.mark.parametrize( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

929 "dpart, fpart", 

+

930 [ 

+

931 ("", "[b-a]"), 

+

932 ("[3-1]", ""), 

+

933 ("[3-1]", "[b-a]"), 

+

934 ], 

+

935 ) 

+

936 def test_combining_with_crazy_filename(self, dpart: str, fpart: str) -> None: 

+

937 dirname = f"py{dpart}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

938 basename = f"{dirname}/.coverage{fpart}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

939 os.makedirs(dirname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

940 

+

941 covdata1 = CoverageData(basename=basename, suffix="1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

942 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

943 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

944 

+

945 covdata2 = CoverageData(basename=basename, suffix="2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

946 covdata2.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

947 covdata2.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

948 

+

949 covdata3 = CoverageData(basename=basename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

950 combine_parallel_data(covdata3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

951 assert_line_counts(covdata3, SUMMARY_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

952 assert_measured_files(covdata3, MEASURED_FILES_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

953 self.assert_file_count(glob.escape(basename) + ".*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

954 

+

955 def test_meta_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

956 # The metadata written to the data file shouldn't interfere with 

+

957 # hashing to remove duplicates, except for debug=process, which 

+

958 # writes debugging info as metadata. 

+

959 debug = DebugControlString(options=[]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

960 covdata1 = CoverageData(basename="meta.1", debug=debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

961 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

962 covdata1.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

963 with sqlite3.connect("meta.1") as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

964 data = sorted(k for (k,) in con.execute("select key from meta")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

965 assert data == ["has_arcs", "version"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

966 

+

967 debug = DebugControlString(options=["process"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

968 covdata2 = CoverageData(basename="meta.2", debug=debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

969 covdata2.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

970 covdata2.write() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

971 with sqlite3.connect("meta.2") as con: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

972 data = sorted(k for (k,) in con.execute("select key from meta")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

973 assert data == ["has_arcs", "sys_argv", "version", "when"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

974 

+

975 

+

976class DumpsLoadsTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

977 """Tests of CoverageData.dumps and loads.""" 

+

978 

+

979 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

980 

+

981 @pytest.mark.parametrize("klass", [CoverageData, DebugCoverageData]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

982 def test_serialization(self, klass: TCoverageData) -> None: 

+

983 covdata1 = klass(no_disk=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

984 covdata1.add_lines(LINES_1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

985 covdata1.add_lines(LINES_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

986 serial = covdata1.dumps() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

987 

+

988 covdata2 = klass(no_disk=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

989 covdata2.loads(serial) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

990 assert_line_counts(covdata2, SUMMARY_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

991 assert_measured_files(covdata2, MEASURED_FILES_1_2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

992 

+

993 def test_misfed_serialization(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

994 covdata = CoverageData(no_disk=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

995 bad_data = b'Hello, world!\x07 ' + b'z' * 100 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

996 msg = r"Unrecognized serialization: {} \(head of {} bytes\)".format( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

997 re.escape(repr(bad_data[:40])), 

+

998 len(bad_data), 

+

999 ) 

+

1000 with pytest.raises(DataError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1001 covdata.loads(bad_data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1002 

+

1003 

+

1004class NoDiskTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1005 """Tests of in-memory CoverageData.""" 

+

1006 

+

1007 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1008 

+

1009 def test_updating(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1010 # https://github.com/nedbat/coveragepy/issues/1323 

+

1011 a = CoverageData(no_disk=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1012 a.add_lines({'foo.py': [10, 20, 30]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1013 assert a.measured_files() == {'foo.py'} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1014 

+

1015 b = CoverageData(no_disk=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1016 b.update(a) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1017 assert b.measured_files() == {'foo.py'} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_debug_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_debug_py.html new file mode 100644 index 000000000..8904afe4c --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_debug_py.html @@ -0,0 +1,398 @@ + + + + + Coverage for tests/test_debug.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_debug.py: + 100.000% +

+ +

+ 148 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests of coverage/debug.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import ast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import io 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from typing import Any, Callable, Iterable 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.debug import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 DebugOutputFile, 

+

22 clipped_repr, filter_text, info_formatter, info_header, short_id, short_stack, 

+

23) 

+

24 

+

25from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from tests.helpers import re_line, re_lines, re_lines_text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28 

+

29class InfoFormatterTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 """Tests of debug.info_formatter.""" 

+

31 

+

32 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 

+

34 def test_info_formatter(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 lines = list(info_formatter([ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 ('x', 'hello there'), 

+

37 ('very long label', ['one element']), 

+

38 ('regular', ['abc', 'def', 'ghi', 'jkl']), 

+

39 ('nothing', []), 

+

40 ])) 

+

41 expected = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 ' x: hello there', 

+

43 ' very long label: one element', 

+

44 ' regular: abc', 

+

45 ' def', 

+

46 ' ghi', 

+

47 ' jkl', 

+

48 ' nothing: -none-', 

+

49 ] 

+

50 assert expected == lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52 def test_info_formatter_with_generator(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 lines = list(info_formatter(('info%d' % i, i) for i in range(3))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 expected = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 ' info0: 0', 

+

56 ' info1: 1', 

+

57 ' info2: 2', 

+

58 ] 

+

59 assert expected == lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 

+

61 def test_too_long_label(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 list(info_formatter([('this label is way too long and will not fit', 23)])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 

+

66@pytest.mark.parametrize("label, header", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 ("x", "-- x ---------------------------------------------------------"), 

+

68 ("hello there", "-- hello there -----------------------------------------------"), 

+

69]) 

+

70def test_info_header(label: str, header: str) -> None: 

+

71 assert info_header(label) == header 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 

+

73 

+

74@pytest.mark.parametrize("id64, id16", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 (0x1234, 0x1234), 

+

76 (0x12340000, 0x1234), 

+

77 (0xA5A55A5A, 0xFFFF), 

+

78 (0x1234cba956780fed, 0x8008), 

+

79]) 

+

80def test_short_id(id64: int, id16: int) -> None: 

+

81 assert short_id(id64) == id16 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 

+

83 

+

84@pytest.mark.parametrize("text, numchars, result", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 ("hello", 10, "'hello'"), 

+

86 ("0123456789abcdefghijklmnopqrstuvwxyz", 15, "'01234...vwxyz'"), 

+

87]) 

+

88def test_clipped_repr(text: str, numchars: int, result: str) -> None: 

+

89 assert clipped_repr(text, numchars) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 

+

91 

+

92@pytest.mark.parametrize("text, filters, result", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 ("hello", [], "hello"), 

+

94 ("hello\n", [], "hello\n"), 

+

95 ("hello\nhello\n", [], "hello\nhello\n"), 

+

96 ("hello\nbye\n", [lambda x: "="+x], "=hello\n=bye\n"), 

+

97 ("hello\nbye\n", [lambda x: "="+x, lambda x: x+"\ndone\n"], "=hello\ndone\n=bye\ndone\n"), 

+

98]) 

+

99def test_filter_text( 

+

100 text: str, 

+

101 filters: Iterable[Callable[[str], str]], 

+

102 result: str, 

+

103) -> None: 

+

104 assert filter_text(text, filters) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 

+

106 

+

107class DebugTraceTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 """Tests of debug output.""" 

+

109 

+

110 def f1_debug_output(self, debug: Iterable[str]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 """Runs some code with `debug` option, returns the debug output.""" 

+

112 # Make code to run. 

+

113 self.make_file("f1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 def f1(x): 

+

115 return x+1 

+

116 

+

117 for i in range(5): 

+

118 f1(i) 

+

119 """) 

+

120 

+

121 debug_out = io.StringIO() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 cov = coverage.Coverage(debug=debug) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 cov._debug_file = debug_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 self.start_import_stop(cov, "f1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 

+

127 return debug_out.getvalue() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 

+

129 def test_debug_no_trace(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 out_text = self.f1_debug_output([]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 

+

132 # We should have no output at all. 

+

133 assert not out_text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 

+

135 def test_debug_trace(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 out_text = self.f1_debug_output(["trace"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 

+

138 # We should have a line like "Tracing 'f1.py'", perhaps with an 

+

139 # absolute path. 

+

140 assert re.search(r"Tracing '.*f1.py'", out_text) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 

+

142 # We should have lines like "Not tracing 'collector.py'..." 

+

143 assert re_lines(r"^Not tracing .*: is part of coverage.py$", out_text) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 

+

145 def test_debug_trace_pid(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 out_text = self.f1_debug_output(["trace", "pid"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148 # Now our lines are always prefixed with the process id. 

+

149 pid_prefix = r"^%5d\.[0-9a-f]{4}: " % os.getpid() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 pid_lines = re_lines_text(pid_prefix, out_text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 assert pid_lines == out_text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 

+

153 # We still have some tracing, and some not tracing. 

+

154 assert re_lines(pid_prefix + "Tracing ", out_text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 assert re_lines(pid_prefix + "Not tracing ", out_text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 

+

157 def test_debug_callers(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 out_text = self.f1_debug_output(["pid", "dataop", "dataio", "callers", "lock"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 # For every real message, there should be a stack trace with a line like 

+

160 # "f1_debug_output : /Users/ned/coverage/tests/test_debug.py @71" 

+

161 real_messages = re_lines(r":\d+", out_text, match=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 frame_pattern = r"\s+f1_debug_output : .*tests[/\\]test_debug.py:\d+$" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 frames = re_lines(frame_pattern, out_text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 assert len(real_messages) == len(frames) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 

+

166 last_line = out_text.splitlines()[-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 

+

168 # The details of what to expect on the stack are empirical, and can change 

+

169 # as the code changes. This test is here to ensure that the debug code 

+

170 # continues working. It's ok to adjust these details over time. 

+

171 assert re_lines(r"^\s*\d+\.\w{4}: Adding file tracers: 0 files", real_messages[-1]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 assert re_lines(r"\s+add_file_tracers : .*coverage[/\\]sqldata.py:\d+$", last_line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 

+

174 def test_debug_config(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 out_text = self.f1_debug_output(["config"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 

+

177 labels = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 attempted_config_files branch config_files_read config_file cover_pylib data_file 

+

179 debug exclude_list extra_css html_dir html_title ignore_errors 

+

180 run_include run_omit parallel partial_always_list partial_list paths 

+

181 precision show_missing source timid xml_output 

+

182 report_include report_omit 

+

183 """.split() 

+

184 for label in labels: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 label_pat = fr"^\s*{label}: " 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 msg = f"Incorrect lines for {label!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 assert 1 == len(re_lines(label_pat, out_text)), msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 

+

189 def test_debug_sys(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 out_text = self.f1_debug_output(["sys"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 assert_good_debug_sys(out_text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 

+

193 def test_debug_sys_ctracer(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 out_text = self.f1_debug_output(["sys"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 tracer_line = re_line(r"CTracer:", out_text).strip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 if env.C_TRACER: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 expected = "CTracer: available" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

198 else: 

+

199 expected = "CTracer: unavailable" 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 assert expected == tracer_line 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 

+

202 def test_debug_pybehave(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 out_text = self.f1_debug_output(["pybehave"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 out_lines = out_text.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 assert 10 < len(out_lines) < 40 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 pyversion = re_line(r" PYVERSION:", out_text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 vtuple = ast.literal_eval(pyversion.partition(":")[-1].strip()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 assert vtuple[:5] == sys.version_info 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 

+

210 

+

211def assert_good_debug_sys(out_text: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 """Assert that `str` is good output for debug=sys.""" 

+

213 labels = """ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 coverage_version coverage_module coverage_paths stdlib_paths third_party_paths 

+

215 tracer configs_attempted config_file configs_read data_file 

+

216 python platform implementation executable 

+

217 pid cwd path environment command_line cover_match pylib_match 

+

218 """.split() 

+

219 for label in labels: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 label_pat = fr"^\s*{label}: " 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 msg = f"Incorrect lines for {label!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 assert 1 == len(re_lines(label_pat, out_text)), msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 

+

224 

+

225class DebugOutputTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 """Tests that we can direct debug output where we want.""" 

+

227 

+

228 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 # DebugOutputFile aggressively tries to start just one output file. We 

+

231 # need to manually force it to make a new one. 

+

232 DebugOutputFile._del_singleton_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 

+

234 def debug_sys(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 """Run just enough coverage to get full debug=sys output.""" 

+

236 cov = coverage.Coverage(debug=["sys"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 

+

240 def test_stderr_default(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 self.debug_sys() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 assert out == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 assert_good_debug_sys(err) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 

+

246 def test_envvar(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 self.set_environ("COVERAGE_DEBUG_FILE", "debug.out") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 self.debug_sys() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 assert self.stdouterr() == ("", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 with open("debug.out") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 assert_good_debug_sys(f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 

+

253 def test_config_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 self.make_file(".coveragerc", "[run]\ndebug_file = lotsa_info.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 self.debug_sys() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 assert self.stdouterr() == ("", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 with open("lotsa_info.txt") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 assert_good_debug_sys(f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 

+

260 def test_stdout_alias(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 self.set_environ("COVERAGE_DEBUG_FILE", "stdout") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 self.debug_sys() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 assert err == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 assert_good_debug_sys(out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 

+

267 

+

268def f_one(*args: Any, **kwargs: Any) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 """First of the chain of functions for testing `short_stack`.""" 

+

270 return f_two(*args, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272def f_two(*args: Any, **kwargs: Any) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 """Second of the chain of functions for testing `short_stack`.""" 

+

274 return f_three(*args, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 

+

276def f_three(*args: Any, **kwargs: Any) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 """Third of the chain of functions for testing `short_stack`.""" 

+

278 return short_stack(*args, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 

+

280 

+

281class ShortStackTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 """Tests of coverage.debug.short_stack.""" 

+

283 

+

284 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 

+

286 def test_short_stack(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 stack = f_one().splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 assert len(stack) > 10 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 assert "f_three" in stack[-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 assert "f_two" in stack[-2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 assert "f_one" in stack[-3] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 

+

293 def test_short_stack_limit(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 stack = f_one(limit=5).splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 assert len(stack) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 

+

297 def test_short_stack_skip(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 stack = f_one(skip=1).splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 assert "f_two" in stack[-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_execfile_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_execfile_py.html new file mode 100644 index 000000000..6e95846a4 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_execfile_py.html @@ -0,0 +1,418 @@ + + + + + Coverage for tests/test_execfile.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_execfile.py: + 100.000% +

+ +

+ 179 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.execfile""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import compileall 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import json 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import pathlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import py_compile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from typing import Any, Iterator 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21from coverage.exceptions import NoCode, NoSource, _ExceptionDuringRun 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.execfile import run_python_file, run_python_module 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.files import python_reported_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25from tests.coveragetest import CoverageTest, TESTS_DIR, UsingModulesMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 

+

27TRY_EXECFILE = os.path.join(TESTS_DIR, "modules/process_test/try_execfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 

+

30class RunFileTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 """Test cases for `run_python_file`.""" 

+

32 

+

33 @pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 def clean_up(self) -> Iterator[None]: 

+

35 """These tests all run in-process. Clean up global changes.""" 

+

36 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 sys.excepthook = sys.__excepthook__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 

+

39 def test_run_python_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 run_python_file([TRY_EXECFILE, "arg1", "arg2"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 mod_globs = json.loads(self.stdout()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 

+

43 # The file should think it is __main__ 

+

44 assert mod_globs['__name__'] == "__main__" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 

+

46 # It should seem to come from a file named try_execfile.py 

+

47 dunder_file = os.path.basename(mod_globs['__file__']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 assert dunder_file == "try_execfile.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 # It should have its correct module data. 

+

51 assert mod_globs['__doc__'].splitlines()[0] == "Test file for run_python_file." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 assert mod_globs['DATA'] == "xyzzy" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 assert mod_globs['FN_VAL'] == "my_fn('fooey')" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 

+

55 # It must be self-importable as __main__. 

+

56 assert mod_globs['__main__.DATA'] == "xyzzy" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 

+

58 # Argv should have the proper values. 

+

59 assert mod_globs['argv0'] == TRY_EXECFILE 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 assert mod_globs['argv1-n'] == ["arg1", "arg2"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 

+

62 # __builtins__ should have the right values, like open(). 

+

63 assert mod_globs['__builtins__.has_open'] is True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 def test_no_extra_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 # Make sure that running a file doesn't create an extra compiled file. 

+

67 self.make_file("xxx", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 desc = "a non-.py file!" 

+

69 """) 

+

70 

+

71 assert os.listdir(".") == ["xxx"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 run_python_file(["xxx"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 assert os.listdir(".") == ["xxx"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 def test_universal_newlines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 # Make sure we can read any sort of line ending. 

+

77 pylines = """# try newlines|print('Hello, world!')|""".split('|') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 for nl in ('\n', '\r\n', '\r'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 with open('nl.py', 'wb') as fpy: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 fpy.write(nl.join(pylines).encode('utf-8')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 run_python_file(['nl.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 assert self.stdout() == "Hello, world!\n"*3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 

+

84 def test_missing_final_newline(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 # Make sure we can deal with a Python file with no final newline. 

+

86 self.make_file("abrupt.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 if 1: 

+

88 a = 1 

+

89 print(f"a is {a!r}") 

+

90 #""") 

+

91 with open("abrupt.py") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 abrupt = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 assert abrupt[-1] == '#' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 run_python_file(["abrupt.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 assert self.stdout() == "a is 1\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 

+

97 def test_no_such_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 path = python_reported_file('xyzzy.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 msg = re.escape(f"No file to run: '{path}'") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 with pytest.raises(NoSource, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 run_python_file(["xyzzy.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 

+

103 def test_directory_with_main(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 self.make_file("with_main/__main__.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 print("I am __main__") 

+

106 """) 

+

107 run_python_file(["with_main"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 assert self.stdout() == "I am __main__\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 

+

110 def test_directory_without_main(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 self.make_file("without_main/__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 with pytest.raises(NoSource, match="Can't find '__main__' module in 'without_main'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 run_python_file(["without_main"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 

+

115 def test_code_throws(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 self.make_file("throw.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 class MyException(Exception): 

+

118 pass 

+

119 

+

120 def f1(): 

+

121 print("about to raise..") 

+

122 raise MyException("hey!") 

+

123 

+

124 def f2(): 

+

125 f1() 

+

126 

+

127 f2() 

+

128 """) 

+

129 

+

130 with pytest.raises(SystemExit) as exc_info: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 run_python_file(["throw.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 assert exc_info.value.args == (1,) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 assert self.stdout() == "about to raise..\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 assert self.stderr() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 

+

136 def test_code_exits(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 self.make_file("exit.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 import sys 

+

139 def f1(): 

+

140 print("about to exit..") 

+

141 sys.exit(17) 

+

142 

+

143 def f2(): 

+

144 f1() 

+

145 

+

146 f2() 

+

147 """) 

+

148 

+

149 with pytest.raises(SystemExit) as exc_info: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 run_python_file(["exit.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 assert exc_info.value.args == (17,) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 assert self.stdout() == "about to exit..\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 assert self.stderr() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 

+

155 def test_excepthook_exit(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 self.make_file("excepthook_exit.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 import sys 

+

158 

+

159 def excepthook(*args): 

+

160 print('in excepthook') 

+

161 sys.exit(0) 

+

162 

+

163 sys.excepthook = excepthook 

+

164 

+

165 raise RuntimeError('Error Outside') 

+

166 """) 

+

167 with pytest.raises(SystemExit): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 run_python_file(["excepthook_exit.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 cov_out = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 assert cov_out == "in excepthook\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 

+

172 def test_excepthook_throw(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 self.make_file("excepthook_throw.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 import sys 

+

175 

+

176 def excepthook(*args): 

+

177 # Write this message to stderr so that we don't have to deal 

+

178 # with interleaved stdout/stderr comparisons in the assertions 

+

179 # in the test. 

+

180 sys.stderr.write('in excepthook\\n') 

+

181 raise RuntimeError('Error Inside') 

+

182 

+

183 sys.excepthook = excepthook 

+

184 

+

185 raise RuntimeError('Error Outside') 

+

186 """) 

+

187 with pytest.raises(_ExceptionDuringRun) as exc_info: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 run_python_file(["excepthook_throw.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 # The _ExceptionDuringRun exception has the RuntimeError as its argument. 

+

190 assert exc_info.value.args[1].args[0] == "Error Outside" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 stderr = self.stderr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 assert "in excepthook\n" in stderr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 assert "Error in sys.excepthook:\n" in stderr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 assert "RuntimeError: Error Inside" in stderr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 

+

196 

+

197class RunPycFileTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 """Test cases for `run_python_file`.""" 

+

199 

+

200 def make_pyc(self, **kwargs: Any) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 """Create a .pyc file, and return the path to it.""" 

+

202 self.make_file("compiled.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 def doit(): 

+

204 print("I am here!") 

+

205 

+

206 doit() 

+

207 """) 

+

208 compileall.compile_dir(".", quiet=True, **kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 os.remove("compiled.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 

+

211 # Find the .pyc file! 

+

212 return str(next(pathlib.Path(".").rglob("compiled*.pyc"))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 

+

214 def test_running_pyc(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 pycfile = self.make_pyc() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 run_python_file([pycfile]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 assert self.stdout() == "I am here!\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 

+

219 def test_running_pyo(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 pycfile = self.make_pyc() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 pyofile = re.sub(r"[.]pyc$", ".pyo", pycfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 assert pycfile != pyofile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 os.rename(pycfile, pyofile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 run_python_file([pyofile]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 assert self.stdout() == "I am here!\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 

+

227 def test_running_pyc_from_wrong_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 pycfile = self.make_pyc() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 

+

230 # Jam Python 2.1 magic number into the .pyc file. 

+

231 with open(pycfile, "r+b") as fpyc: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 fpyc.seek(0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 fpyc.write(bytes([0x2a, 0xeb, 0x0d, 0x0a])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 

+

235 with pytest.raises(NoCode, match="Bad magic number in .pyc file"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 run_python_file([pycfile]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 

+

238 # In some environments, the pycfile persists and pollutes another test. 

+

239 os.remove(pycfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 

+

241 def test_running_hashed_pyc(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 pycfile = self.make_pyc(invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 run_python_file([pycfile]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 assert self.stdout() == "I am here!\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 

+

246 def test_no_such_pyc_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 path = python_reported_file('xyzzy.pyc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 msg = re.escape(f"No file to run: '{path}'") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 with pytest.raises(NoCode, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 run_python_file(["xyzzy.pyc"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 

+

252 def test_running_py_from_binary(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 # Use make_file to get the bookkeeping. Ideally, it would 

+

254 # be able to write binary files. 

+

255 bf = self.make_file("binary") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 with open(bf, "wb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 f.write(b'\x7fELF\x02\x01\x01\x00\x00\x00') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 

+

259 path = python_reported_file('binary') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 msg = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 re.escape(f"Couldn't run '{path}' as Python code: ") + 

+

262 r"(ValueError|SyntaxError): source code string cannot contain null bytes" 

+

263 ) 

+

264 with pytest.raises(Exception, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 run_python_file([bf]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 

+

267 

+

268class RunModuleTest(UsingModulesMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 """Test run_python_module.""" 

+

270 

+

271 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 

+

273 def test_runmod1(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 run_python_module(["runmod1", "hello"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 assert out == "runmod1: passed hello\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 assert err == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 

+

279 def test_runmod2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 run_python_module(["pkg1.runmod2", "hello"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 assert out == "pkg1.__init__: pkg1\nrunmod2: passed hello\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 assert err == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 

+

285 def test_runmod3(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 run_python_module(["pkg1.sub.runmod3", "hello"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 assert out == "pkg1.__init__: pkg1\nrunmod3: passed hello\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 assert err == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 

+

291 def test_pkg1_main(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292 run_python_module(["pkg1", "hello"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 assert out == "pkg1.__init__: pkg1\npkg1.__main__: passed hello\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 assert err == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 

+

297 def test_pkg1_sub_main(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 run_python_module(["pkg1.sub", "hello"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 assert out == "pkg1.__init__: pkg1\npkg1.sub.__main__: passed hello\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 assert err == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 

+

303 def test_pkg1_init(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 run_python_module(["pkg1.__init__", "wut?"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 out, err = self.stdouterr() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 assert out == "pkg1.__init__: pkg1\npkg1.__init__: __main__\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 assert err == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 

+

309 def test_no_such_module(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 with pytest.raises(NoSource, match="No module named '?i_dont_exist'?"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 run_python_module(["i_dont_exist"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 with pytest.raises(NoSource, match="No module named '?i'?"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 run_python_module(["i.dont_exist"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 with pytest.raises(NoSource, match="No module named '?i'?"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 run_python_module(["i.dont.exist"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 

+

317 def test_no_main(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 with pytest.raises(NoSource): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 run_python_module(["pkg2", "hi"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_filereporter_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_filereporter_py.html new file mode 100644 index 000000000..d01ad9074 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_filereporter_py.html @@ -0,0 +1,203 @@ + + + + + Coverage for tests/test_filereporter.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_filereporter.py: + 100.000% +

+ +

+ 74 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for FileReporters""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from coverage.plugin import FileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11from coverage.python import PythonFileReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from tests.coveragetest import CoverageTest, UsingModulesMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from tests.helpers import os_sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16# pylint: disable=import-error 

+

17# Unable to import 'aa' (No module named aa) 

+

18 

+

19 

+

20class FileReporterTest(UsingModulesMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 """Tests for FileReporter classes.""" 

+

22 

+

23 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25 def test_filenames(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 acu = PythonFileReporter("aa/afile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 bcu = PythonFileReporter("aa/bb/bfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 ccu = PythonFileReporter("aa/bb/cc/cfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 assert acu.relative_filename() == "aa/afile.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 assert bcu.relative_filename() == "aa/bb/bfile.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 assert ccu.relative_filename() == "aa/bb/cc/cfile.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 assert acu.source() == "# afile.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 assert bcu.source() == "# bfile.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 assert ccu.source() == "# cfile.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 

+

36 def test_odd_filenames(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 acu = PythonFileReporter("aa/afile.odd.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 bcu = PythonFileReporter("aa/bb/bfile.odd.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 b2cu = PythonFileReporter("aa/bb.odd/bfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 assert acu.relative_filename() == "aa/afile.odd.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 assert bcu.relative_filename() == "aa/bb/bfile.odd.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 assert b2cu.relative_filename() == "aa/bb.odd/bfile.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 assert acu.source() == "# afile.odd.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 assert bcu.source() == "# bfile.odd.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 assert b2cu.source() == "# bfile.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 

+

47 def test_modules(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 import aa 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 import aa.bb 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 import aa.bb.cc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52 acu = PythonFileReporter(aa) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 bcu = PythonFileReporter(aa.bb) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 ccu = PythonFileReporter(aa.bb.cc) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 assert acu.relative_filename() == os_sep("aa/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 assert bcu.relative_filename() == os_sep("aa/bb/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 assert ccu.relative_filename() == os_sep("aa/bb/cc/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 assert acu.source() == "# aa\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 assert bcu.source() == "# bb\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 assert ccu.source() == "" # yes, empty 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 

+

62 def test_module_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 import aa.afile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 import aa.bb.bfile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 import aa.bb.cc.cfile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 

+

67 acu = PythonFileReporter(aa.afile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 bcu = PythonFileReporter(aa.bb.bfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 ccu = PythonFileReporter(aa.bb.cc.cfile) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 assert acu.relative_filename() == os_sep("aa/afile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 assert bcu.relative_filename() == os_sep("aa/bb/bfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 assert ccu.relative_filename() == os_sep("aa/bb/cc/cfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 assert acu.source() == "# afile.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 assert bcu.source() == "# bfile.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 assert ccu.source() == "# cfile.py\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 

+

77 def test_comparison(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 acu = FileReporter("aa/afile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 acu2 = FileReporter("aa/afile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 zcu = FileReporter("aa/zfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 bcu = FileReporter("aa/bb/bfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 assert acu == acu2 and acu <= acu2 and acu >= acu2 # pylint: disable=chained-comparison 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 assert acu < zcu and acu <= zcu and acu != zcu 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 assert zcu > acu and zcu >= acu and zcu != acu 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 assert acu < bcu and acu <= bcu and acu != bcu 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 assert bcu > acu and bcu >= acu and bcu != acu 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 

+

88 def test_zipfile(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 sys.path.append("tests/zip1.zip") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 

+

91 # Test that we can get files out of zipfiles, and read their source files. 

+

92 # The zip1 module is installed by an action in igor.py. 

+

93 import zip1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 import zip1.zip1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96 # Verify that we really imported from an zipfile. If we did, then the 

+

97 # __file__ won't be an actual file, because one of the "directories" 

+

98 # in the path is actually the zip file. 

+

99 self.assert_doesnt_exist(zip1.__file__) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 

+

101 z1 = PythonFileReporter(zip1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 z1z1 = PythonFileReporter(zip1.zip1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 assert z1.source() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 assert "# My zip file!" in z1z1.source().splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_files_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_files_py.html new file mode 100644 index 000000000..82df85ed1 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_files_py.html @@ -0,0 +1,791 @@ + + + + + Coverage for tests/test_files.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_files.py: + 100.000% +

+ +

+ 278 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for files.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import itertools 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from typing import Any, Iterable, Iterator, List 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from unittest import mock 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from coverage import env, files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.exceptions import ConfigError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.files import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 GlobMatcher, ModuleMatcher, PathAliases, TreeMatcher, abs_file, 

+

22 actual_path, find_python_files, flat_rootname, globs_to_regex, 

+

23) 

+

24from coverage.types import Protocol 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from tests.helpers import os_sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 

+

30class FilesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 """Tests of coverage.files.""" 

+

32 

+

33 def abs_path(self, p: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 """Return the absolute path for `p`.""" 

+

35 return os.path.join(abs_file(os.getcwd()), os.path.normpath(p)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37 def test_simple(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 self.make_file("hello.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 files.set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 assert files.relative_filename("hello.py") == "hello.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 a = self.abs_path("hello.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 assert a != "hello.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 assert files.relative_filename(a) == "hello.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 

+

45 def test_peer_directories(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 self.make_file("sub/proj1/file1.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 self.make_file("sub/proj2/file2.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 a1 = self.abs_path("sub/proj1/file1.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 a2 = self.abs_path("sub/proj2/file2.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 d = os.path.normpath("sub/proj1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 os.chdir(d) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 files.set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 assert files.relative_filename(a1) == "file1.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 assert files.relative_filename(a2) == a2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 def test_filepath_contains_absolute_prefix_twice(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 # https://github.com/nedbat/coveragepy/issues/194 

+

58 # Build a path that has two pieces matching the absolute path prefix. 

+

59 # Technically, this test doesn't do that on Windows, but drive 

+

60 # letters make that impractical to achieve. 

+

61 files.set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 d = abs_file(os.curdir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 trick = os.path.splitdrive(d)[1].lstrip(os.path.sep) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 rel = os.path.join('sub', trick, 'file1.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 assert files.relative_filename(abs_file(rel)) == rel 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 

+

67 def test_canonical_filename_ensure_cache_hit(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 self.make_file("sub/proj1/file1.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 d = actual_path(self.abs_path("sub/proj1")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 os.chdir(d) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 files.set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 canonical_path = files.canonical_filename('sub/proj1/file1.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 assert canonical_path == self.abs_path('file1.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 # After the filename has been converted, it should be in the cache. 

+

75 assert 'sub/proj1/file1.py' in files.CANONICAL_FILENAME_CACHE 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 assert files.canonical_filename('sub/proj1/file1.py') == self.abs_path('file1.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78 @pytest.mark.parametrize( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 "curdir, sep", [ 

+

80 ("/", "/"), 

+

81 ("X:\\", "\\"), 

+

82 ] 

+

83 ) 

+

84 def test_relative_dir_for_root(self, curdir: str, sep: str) -> None: 

+

85 with mock.patch.object(files.os, 'curdir', new=curdir): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 with mock.patch.object(files.os, 'sep', new=sep): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 with mock.patch('coverage.files.os.path.normcase', return_value=curdir): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 files.set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 assert files.relative_directory() == curdir 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 

+

91 @pytest.mark.parametrize( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 "to_make, to_check, answer", [ 

+

93 ("a/b/c/foo.py", "a/b/c/foo.py", True), 

+

94 ("a/b/c/foo.py", "a/b/c/bar.py", False), 

+

95 ("src/files.zip", "src/files.zip/foo.py", True), 

+

96 ("src/files.whl", "src/files.whl/foo.py", True), 

+

97 ("src/files.egg", "src/files.egg/foo.py", True), 

+

98 ("src/files.pex", "src/files.pex/foo.py", True), 

+

99 ("src/files.zip", "src/morefiles.zip/foo.py", False), 

+

100 ("src/files.pex", "src/files.pex/zipfiles/files.zip/foo.py", True), 

+

101 ] 

+

102 ) 

+

103 def test_source_exists(self, to_make: str, to_check: str, answer: bool) -> None: 

+

104 # source_exists won't look inside the zipfile, so it's fine to make 

+

105 # an empty file with the zipfile name. 

+

106 self.make_file(to_make, "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 assert files.source_exists(to_check) == answer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 

+

109 

+

110@pytest.mark.parametrize("original, flat", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 ("abc.py", "abc_py"), 

+

112 ("hellothere", "hellothere"), 

+

113 ("a/b/c.py", "d_86bbcbe134d28fd2_c_py"), 

+

114 ("a/b/defghi.py", "d_86bbcbe134d28fd2_defghi_py"), 

+

115 ("/a/b/c.py", "d_bb25e0ada04227c6_c_py"), 

+

116 ("/a/b/defghi.py", "d_bb25e0ada04227c6_defghi_py"), 

+

117 (r"c:\foo\bar.html", "d_e7c107482373f299_bar_html"), 

+

118 (r"d:\foo\bar.html", "d_584a05dcebc67b46_bar_html"), 

+

119 ("Montréal/☺/conf.py", "d_c840497a2c647ce0_conf_py"), 

+

120 ( # original: 

+

121 r"c:\lorem\ipsum\quia\dolor\sit\amet\consectetur\adipisci\velit\sed" + 

+

122 r"\quia\non\numquam\eius\modi\tempora\incidunt\ut\labore\et\dolore" + 

+

123 r"\magnam\aliquam\quaerat\voluptatem\ut\enim\ad\minima\veniam\quis" + 

+

124 r"\nostrum\exercitationem\ullam\corporis\suscipit\laboriosam" + 

+

125 r"\Montréal\☺\my_program.py", 

+

126 # flat: 

+

127 "d_e597dfacb73a23d5_my_program_py" 

+

128 ), 

+

129]) 

+

130def test_flat_rootname(original: str, flat: str) -> None: 

+

131 assert flat_rootname(original) == flat 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 

+

133 

+

134def globs_to_regex_params( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

135 patterns: Iterable[str], 

+

136 case_insensitive: bool = False, 

+

137 partial: bool = False, 

+

138 matches: Iterable[str] = (), 

+

139 nomatches: Iterable[str] = (), 

+

140) -> Iterator[Any]: 

+

141 """Generate parameters for `test_globs_to_regex`. 

+

142 

+

143 `patterns`, `case_insensitive`, and `partial` are arguments for 

+

144 `globs_to_regex`. `matches` is a list of strings that should match, and 

+

145 `nomatches` is a list of strings that should not match. 

+

146 

+

147 Everything is yielded so that `test_globs_to_regex` can call 

+

148 `globs_to_regex` once and check one result. 

+

149 

+

150 """ 

+

151 pat_id = "|".join(patterns) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 for text in matches: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 yield pytest.param( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 patterns, case_insensitive, partial, text, True, 

+

155 id=f"{pat_id}:ci{case_insensitive}:par{partial}:{text}:match", 

+

156 ) 

+

157 for text in nomatches: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 yield pytest.param( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 patterns, case_insensitive, partial, text, False, 

+

160 id=f"{pat_id}:ci{case_insensitive}:par{partial}:{text}:nomatch", 

+

161 ) 

+

162 

+

163@pytest.mark.parametrize( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 "patterns, case_insensitive, partial, text, result", 

+

165 list(itertools.chain.from_iterable([ 

+

166 globs_to_regex_params( 

+

167 ["abc", "xyz"], 

+

168 matches=["abc", "xyz", "sub/mod/abc"], 

+

169 nomatches=[ 

+

170 "ABC", "xYz", "abcx", "xabc", "axyz", "xyza", "sub/mod/abcd", "sub/abc/more", 

+

171 ], 

+

172 ), 

+

173 globs_to_regex_params( 

+

174 ["abc", "xyz"], case_insensitive=True, 

+

175 matches=["abc", "xyz", "Abc", "XYZ", "AbC"], 

+

176 nomatches=["abcx", "xabc", "axyz", "xyza"], 

+

177 ), 

+

178 globs_to_regex_params( 

+

179 ["a*c", "x*z"], 

+

180 matches=["abc", "xyz", "xYz", "azc", "xaz", "axyzc"], 

+

181 nomatches=["ABC", "abcx", "xabc", "axyz", "xyza", "a/c"], 

+

182 ), 

+

183 globs_to_regex_params( 

+

184 ["a?c", "x?z"], 

+

185 matches=["abc", "xyz", "xYz", "azc", "xaz"], 

+

186 nomatches=["ABC", "abcx", "xabc", "axyz", "xyza", "a/c"], 

+

187 ), 

+

188 globs_to_regex_params( 

+

189 ["a??d"], 

+

190 matches=["abcd", "azcd", "a12d"], 

+

191 nomatches=["ABCD", "abcx", "axyz", "abcde"], 

+

192 ), 

+

193 globs_to_regex_params( 

+

194 ["abc/hi.py"], case_insensitive=True, 

+

195 matches=["abc/hi.py", "ABC/hi.py", r"ABC\hi.py"], 

+

196 nomatches=["abc_hi.py", "abc/hi.pyc"], 

+

197 ), 

+

198 globs_to_regex_params( 

+

199 [r"abc\hi.py"], case_insensitive=True, 

+

200 matches=[r"abc\hi.py", r"ABC\hi.py", "abc/hi.py", "ABC/hi.py"], 

+

201 nomatches=["abc_hi.py", "abc/hi.pyc"], 

+

202 ), 

+

203 globs_to_regex_params( 

+

204 ["abc/*/hi.py"], case_insensitive=True, 

+

205 matches=["abc/foo/hi.py", r"ABC\foo/hi.py"], 

+

206 nomatches=["abc/hi.py", "abc/hi.pyc", "ABC/foo/bar/hi.py", r"ABC\foo/bar/hi.py"], 

+

207 ), 

+

208 globs_to_regex_params( 

+

209 ["abc/**/hi.py"], case_insensitive=True, 

+

210 matches=[ 

+

211 "abc/foo/hi.py", r"ABC\foo/hi.py", "abc/hi.py", "ABC/foo/bar/hi.py", 

+

212 r"ABC\foo/bar/hi.py", 

+

213 ], 

+

214 nomatches=["abc/hi.pyc"], 

+

215 ), 

+

216 globs_to_regex_params( 

+

217 ["abc/[a-f]*/hi.py"], case_insensitive=True, 

+

218 matches=["abc/foo/hi.py", r"ABC\boo/hi.py"], 

+

219 nomatches=[ 

+

220 "abc/zoo/hi.py", "abc/hi.py", "abc/hi.pyc", "abc/foo/bar/hi.py", 

+

221 r"abc\foo/bar/hi.py", 

+

222 ], 

+

223 ), 

+

224 globs_to_regex_params( 

+

225 ["abc/[a-f]/hi.py"], case_insensitive=True, 

+

226 matches=["abc/f/hi.py", r"ABC\b/hi.py"], 

+

227 nomatches=[ 

+

228 "abc/foo/hi.py", "abc/zoo/hi.py", "abc/hi.py", "abc/hi.pyc", "abc/foo/bar/hi.py", 

+

229 r"abc\foo/bar/hi.py", 

+

230 ], 

+

231 ), 

+

232 globs_to_regex_params( 

+

233 ["abc/"], case_insensitive=True, partial=True, 

+

234 matches=["abc/foo/hi.py", "ABC/foo/bar/hi.py", r"ABC\foo/bar/hi.py"], 

+

235 nomatches=["abcd/foo.py", "xabc/hi.py"], 

+

236 ), 

+

237 globs_to_regex_params( 

+

238 ["*/foo"], case_insensitive=False, partial=True, 

+

239 matches=["abc/foo/hi.py", "foo/hi.py"], 

+

240 nomatches=["abc/xfoo/hi.py"], 

+

241 ), 

+

242 globs_to_regex_params( 

+

243 ["**/foo"], 

+

244 matches=["foo", "hello/foo", "hi/there/foo"], 

+

245 nomatches=["foob", "hello/foob", "hello/Foo"], 

+

246 ), 

+

247 globs_to_regex_params( 

+

248 ["a+b/foo*", "x{y}z/foo*"], 

+

249 matches=["a+b/foo", "a+b/foobar", "x{y}z/foobar"], 

+

250 nomatches=["aab/foo", "ab/foo", "xyz/foo"], 

+

251 ), 

+

252 ])) 

+

253) 

+

254def test_globs_to_regex( 

+

255 patterns: Iterable[str], 

+

256 case_insensitive: bool, 

+

257 partial: bool, 

+

258 text: str, 

+

259 result: bool, 

+

260) -> None: 

+

261 regex = globs_to_regex(patterns, case_insensitive=case_insensitive, partial=partial) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 assert bool(regex.match(text)) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 

+

264 

+

265@pytest.mark.parametrize("pattern, bad_word", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 ("***/foo.py", "***"), 

+

267 ("bar/***/foo.py", "***"), 

+

268 ("*****/foo.py", "*****"), 

+

269 ("Hello]there", "]"), 

+

270 ("Hello[there", "["), 

+

271 ("x/a**/b.py", "a**"), 

+

272 ("x/abcd**/b.py", "abcd**"), 

+

273 ("x/**a/b.py", "**a"), 

+

274 ("x/**/**/b.py", "**/**"), 

+

275]) 

+

276def test_invalid_globs(pattern: str, bad_word: str) -> None: 

+

277 msg = f"File pattern can't include {bad_word!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 with pytest.raises(ConfigError, match=re.escape(msg)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 globs_to_regex([pattern]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 

+

281 

+

282class TMatcher(Protocol): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 """The shape all Matchers have.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 

+

285 def match(self, s: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 """Does this string match?""" 

+

287 

+

288 

+

289class MatcherTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 """Tests of file matchers.""" 

+

291 

+

292 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 files.set_relative_directory() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 

+

296 def assertMatches(self, matcher: TMatcher, filepath: str, matches: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 """The `matcher` should agree with `matches` about `filepath`.""" 

+

298 canonical = files.canonical_filename(filepath) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 msg = f"File {filepath} should have matched as {matches}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 assert matches == matcher.match(canonical), msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 

+

302 def test_tree_matcher(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 case_folding = env.WINDOWS 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 matches_to_try = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 (self.make_file("sub/file1.py"), True), 

+

306 (self.make_file("sub/file2.c"), True), 

+

307 (self.make_file("sub2/file3.h"), False), 

+

308 (self.make_file("sub3/file4.py"), True), 

+

309 (self.make_file("sub3/file5.c"), False), 

+

310 (self.make_file("sub4/File5.py"), case_folding), 

+

311 (self.make_file("sub5/file6.py"), case_folding), 

+

312 ] 

+

313 trees = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 files.canonical_filename("sub"), 

+

315 files.canonical_filename("sub3/file4.py"), 

+

316 files.canonical_filename("sub4/file5.py"), 

+

317 files.canonical_filename("SUB5/file6.py"), 

+

318 ] 

+

319 tm = TreeMatcher(trees) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 assert tm.info() == sorted(trees) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 for filepath, matches in matches_to_try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 self.assertMatches(tm, filepath, matches) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 

+

324 def test_module_matcher(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 matches_to_try = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 ('test', True), 

+

327 ('trash', False), 

+

328 ('testing', False), 

+

329 ('test.x', True), 

+

330 ('test.x.y.z', True), 

+

331 ('py', False), 

+

332 ('py.t', False), 

+

333 ('py.test', True), 

+

334 ('py.testing', False), 

+

335 ('py.test.buz', True), 

+

336 ('py.test.buz.baz', True), 

+

337 ('__main__', False), 

+

338 ('mymain', True), 

+

339 ('yourmain', False), 

+

340 ] 

+

341 modules = ['test', 'py.test', 'mymain'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 mm = ModuleMatcher(modules) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 assert mm.info() == modules 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 for modulename, matches in matches_to_try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 assert mm.match(modulename) == matches, modulename 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 

+

347 def test_glob_matcher(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 matches_to_try = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 (self.make_file("sub/file1.py"), True), 

+

350 (self.make_file("sub/file2.c"), False), 

+

351 (self.make_file("sub2/file3.h"), True), 

+

352 (self.make_file("sub3/file4.py"), True), 

+

353 (self.make_file("sub3/file5.c"), False), 

+

354 ] 

+

355 fnm = GlobMatcher(["*.py", "*/sub2/*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 assert fnm.info() == ["*.py", "*/sub2/*"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 for filepath, matches in matches_to_try: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 self.assertMatches(fnm, filepath, matches) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 

+

360 def test_glob_matcher_overload(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 fnm = GlobMatcher(["*x%03d*.txt" % i for i in range(500)]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 self.assertMatches(fnm, "x007foo.txt", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 self.assertMatches(fnm, "x123foo.txt", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 self.assertMatches(fnm, "x798bar.txt", False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 self.assertMatches(fnm, "x499.txt", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 self.assertMatches(fnm, "x500.txt", False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

367 

+

368 def test_glob_windows_paths(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 # We should be able to match Windows paths even if we are running on 

+

370 # a non-Windows OS. 

+

371 fnm = GlobMatcher(["*/foo.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 self.assertMatches(fnm, r"dir\foo.py", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 fnm = GlobMatcher([r"*\foo.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 self.assertMatches(fnm, r"dir\foo.py", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 

+

376 

+

377@pytest.fixture(params=[False, True], name="rel_yn") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378def relative_setting(request: pytest.FixtureRequest) -> bool: 

+

379 """Parameterized fixture to choose whether PathAliases is relative or not.""" 

+

380 return request.param # type: ignore[no-any-return] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 

+

382 

+

383class PathAliasesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 """Tests for coverage/files.py:PathAliases""" 

+

385 

+

386 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 

+

388 def assert_mapped(self, aliases: PathAliases, inp: str, out: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 """Assert that `inp` mapped through `aliases` produces `out`. 

+

390 

+

391 If the aliases are not relative, then `out` is canonicalized first, 

+

392 since aliases produce canonicalized paths by default. 

+

393 

+

394 """ 

+

395 mapped = aliases.map(inp, exists=lambda p: True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 if aliases.relative: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 expected = out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 else: 

+

399 expected = files.canonical_filename(out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 assert mapped == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 

+

402 def assert_unchanged(self, aliases: PathAliases, inp: str, exists: bool = True) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 """Assert that `inp` mapped through `aliases` is unchanged.""" 

+

404 assert aliases.map(inp, exists=lambda p: exists) == inp 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 

+

406 def test_noop(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 self.assert_unchanged(aliases, '/ned/home/a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 

+

410 def test_nomatch(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

412 aliases.add('/home/*/src', './mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

413 self.assert_unchanged(aliases, '/home/foo/a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

414 

+

415 def test_wildcard(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

416 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 aliases.add('/ned/home/*/src', './mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

418 self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 

+

420 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

421 aliases.add('/ned/home/*/src/', './mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

423 

+

424 def test_no_accidental_match(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 aliases.add('/home/*/src', './mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 self.assert_unchanged(aliases, '/home/foo/srcetc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 

+

429 def test_no_map_if_not_exist(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 aliases.add('/ned/home/*/src', './mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 self.assert_unchanged(aliases, '/ned/home/foo/src/a.py', exists=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 self.assert_unchanged(aliases, 'foo/src/a.py', exists=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

434 

+

435 def test_no_dotslash(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

436 # The result shouldn't start with "./" if the map result didn't. 

+

437 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

438 aliases.add('*/project', '.') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

439 self.assert_mapped(aliases, '/ned/home/project/src/a.py', os_sep('src/a.py')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 

+

441 def test_relative_pattern(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 aliases = PathAliases(relative=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 aliases.add(".tox/*/site-packages", "src") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 aliases, 

+

446 ".tox/py314/site-packages/proj/a.py", 

+

447 os_sep("src/proj/a.py"), 

+

448 ) 

+

449 

+

450 def test_multiple_patterns(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 # also test the debugfn... 

+

452 msgs: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453 aliases = PathAliases(debugfn=msgs.append, relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 aliases.add('/home/*/src', './mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 aliases.add('/lib/*/libsrc', './mylib') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

456 self.assert_mapped(aliases, '/home/foo/src/a.py', './mysrc/a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

457 self.assert_mapped(aliases, '/lib/foo/libsrc/a.py', './mylib/a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 if rel_yn: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 assert msgs == [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 "Aliases (relative=True):", 

+

461 " Rule: '/home/*/src' -> './mysrc/' using regex " + 

+

462 "'[/\\\\\\\\]home[/\\\\\\\\][^/\\\\\\\\]*[/\\\\\\\\]src[/\\\\\\\\]'", 

+

463 " Rule: '/lib/*/libsrc' -> './mylib/' using regex " + 

+

464 "'[/\\\\\\\\]lib[/\\\\\\\\][^/\\\\\\\\]*[/\\\\\\\\]libsrc[/\\\\\\\\]'", 

+

465 "Matched path '/home/foo/src/a.py' to rule '/home/*/src' -> './mysrc/', " + 

+

466 "producing './mysrc/a.py'", 

+

467 "Matched path '/lib/foo/libsrc/a.py' to rule '/lib/*/libsrc' -> './mylib/', " + 

+

468 "producing './mylib/a.py'", 

+

469 ] 

+

470 else: 

+

471 assert msgs == [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

472 "Aliases (relative=False):", 

+

473 " Rule: '/home/*/src' -> './mysrc/' using regex " + 

+

474 "'[/\\\\\\\\]home[/\\\\\\\\][^/\\\\\\\\]*[/\\\\\\\\]src[/\\\\\\\\]'", 

+

475 " Rule: '/lib/*/libsrc' -> './mylib/' using regex " + 

+

476 "'[/\\\\\\\\]lib[/\\\\\\\\][^/\\\\\\\\]*[/\\\\\\\\]libsrc[/\\\\\\\\]'", 

+

477 "Matched path '/home/foo/src/a.py' to rule '/home/*/src' -> './mysrc/', " + 

+

478 f"producing {files.canonical_filename('./mysrc/a.py')!r}", 

+

479 "Matched path '/lib/foo/libsrc/a.py' to rule '/lib/*/libsrc' -> './mylib/', " + 

+

480 f"producing {files.canonical_filename('./mylib/a.py')!r}", 

+

481 ] 

+

482 

+

483 @pytest.mark.parametrize("badpat", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 "/ned/home/*", 

+

485 "/ned/home/*/", 

+

486 "/ned/home/*/*/", 

+

487 ]) 

+

488 def test_cant_have_wildcard_at_end(self, badpat: str) -> None: 

+

489 aliases = PathAliases() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 msg = "Pattern must not end with wildcards." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

491 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 aliases.add(badpat, "fooey") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

493 

+

494 def test_no_accidental_munging(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

495 aliases = PathAliases() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

496 aliases.add(r'c:\Zoo\boo', 'src/') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

497 aliases.add('/home/ned$', 'src/') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 self.assert_mapped(aliases, r'c:\Zoo\boo\foo.py', 'src/foo.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

499 self.assert_mapped(aliases, r'/home/ned$/foo.py', 'src/foo.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

500 

+

501 def test_paths_are_os_corrected(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

502 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

503 aliases.add('/home/ned/*/src', './mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 aliases.add(r'c:\ned\src', './mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 self.assert_mapped(aliases, r'C:\Ned\src\sub\a.py', './mysrc/sub/a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 

+

507 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 aliases.add('/home/ned/*/src', r'.\mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

509 aliases.add(r'c:\ned\src', r'.\mysrc') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

510 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 aliases, 

+

512 r'/home/ned/foo/src/sub/a.py', 

+

513 r'.\mysrc\sub\a.py', 

+

514 ) 

+

515 

+

516 # Try the paths in both orders. 

+

517 lin = "*/project/module/" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

518 win = "*\\project\\module\\" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

519 lin_win_paths = [[lin, win], [win, lin]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

520 

+

521 @pytest.mark.parametrize("paths", lin_win_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 def test_windows_on_linux(self, paths: Iterable[str], rel_yn: bool) -> None: 

+

523 # https://github.com/nedbat/coveragepy/issues/618 

+

524 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

525 for path in paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

526 aliases.add(path, "project/module") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

527 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

528 aliases, 

+

529 "C:\\a\\path\\somewhere\\coveragepy_test\\project\\module\\tests\\file.py", 

+

530 "project/module/tests/file.py", 

+

531 ) 

+

532 

+

533 @pytest.mark.parametrize("paths", lin_win_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 def test_linux_on_windows(self, paths: Iterable[str], rel_yn: bool) -> None: 

+

535 # https://github.com/nedbat/coveragepy/issues/618 

+

536 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

537 for path in paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 aliases.add(path, "project\\module") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

540 aliases, 

+

541 "C:/a/path/somewhere/coveragepy_test/project/module/tests/file.py", 

+

542 "project\\module\\tests\\file.py", 

+

543 ) 

+

544 

+

545 @pytest.mark.parametrize("paths", lin_win_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 def test_relative_windows_on_linux(self, paths: Iterable[str]) -> None: 

+

547 # https://github.com/nedbat/coveragepy/issues/991 

+

548 aliases = PathAliases(relative=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

549 for path in paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 aliases.add(path, "project/module") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

552 aliases, 

+

553 r"project\module\tests\file.py", 

+

554 r"project/module/tests/file.py", 

+

555 ) 

+

556 

+

557 @pytest.mark.parametrize("paths", lin_win_paths) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

558 def test_relative_linux_on_windows(self, paths: Iterable[str]) -> None: 

+

559 # https://github.com/nedbat/coveragepy/issues/991 

+

560 aliases = PathAliases(relative=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

561 for path in paths: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

562 aliases.add(path, r"project\module") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

564 aliases, 

+

565 r"project/module/tests/file.py", 

+

566 r"project\module\tests\file.py", 

+

567 ) 

+

568 

+

569 @pytest.mark.skipif(env.WINDOWS, reason="This test assumes Unix file system") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 def test_implicit_relative_windows_on_linux(self) -> None: 

+

571 # https://github.com/nedbat/coveragepy/issues/991 

+

572 aliases = PathAliases(relative=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

574 aliases, 

+

575 r"project\module\tests\file.py", 

+

576 r"project/module/tests/file.py", 

+

577 ) 

+

578 

+

579 @pytest.mark.skipif(not env.WINDOWS, reason="This test assumes Windows file system") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

580 def test_implicit_relative_linux_on_windows(self) -> None: 

+

581 # https://github.com/nedbat/coveragepy/issues/991 

+

582 aliases = PathAliases(relative=True) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

583 self.assert_mapped( 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

584 aliases, 

+

585 r"project/module/tests/file.py", 

+

586 r"project\module\tests\file.py", 

+

587 ) 

+

588 

+

589 def test_multiple_wildcard(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

590 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 aliases.add('/home/jenkins/*/a/*/b/*/django', './django') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

592 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 aliases, 

+

594 '/home/jenkins/xx/a/yy/b/zz/django/foo/bar.py', 

+

595 './django/foo/bar.py', 

+

596 ) 

+

597 

+

598 def test_windows_root_paths(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

599 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

600 aliases.add('X:\\', '/tmp/src') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

601 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

602 aliases, 

+

603 "X:\\a\\file.py", 

+

604 "/tmp/src/a/file.py", 

+

605 ) 

+

606 self.assert_mapped( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

607 aliases, 

+

608 "X:\\file.py", 

+

609 "/tmp/src/file.py", 

+

610 ) 

+

611 

+

612 def test_leading_wildcard(self, rel_yn: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

613 aliases = PathAliases(relative=rel_yn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

614 aliases.add('*/d1', './mysrc1') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

615 aliases.add('*/d2', './mysrc2') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

616 self.assert_mapped(aliases, '/foo/bar/d1/x.py', './mysrc1/x.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 self.assert_mapped(aliases, '/foo/bar/d2/y.py', './mysrc2/y.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

618 

+

619 @pytest.mark.parametrize("dirname", [".", "..", "../other", "/"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

620 def test_dot(self, dirname: str) -> None: 

+

621 if env.WINDOWS and dirname == "/": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

622 # The root test case was added for the manylinux Docker images, 

+

623 # and I'm not sure how it should work on Windows, so skip it. 

+

624 pytest.skip("Don't know how to handle root on Windows") 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

625 aliases = PathAliases() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

626 aliases.add(dirname, '/the/source') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 the_file = os.path.join(dirname, 'a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

628 the_file = os.path.expanduser(the_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

629 the_file = os.path.abspath(os.path.realpath(the_file)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 

+

631 assert '~' not in the_file # to be sure the test is pure. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

632 self.assert_mapped(aliases, the_file, '/the/source/a.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 

+

634 

+

635class PathAliasesRealFilesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

636 """Tests for coverage/files.py:PathAliases using real files.""" 

+

637 

+

638 def test_aliasing_zip_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 self.make_file("src/zipfiles/code.zip", "fake zip, doesn't matter") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

640 aliases = PathAliases() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

641 aliases.add("*/d1", "./src") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

642 aliases.add("*/d2", "./src") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

643 

+

644 expected = files.canonical_filename("src/zipfiles/code.zip/p1.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 assert aliases.map("tox/d1/zipfiles/code.zip/p1.py") == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 

+

647 

+

648class FindPythonFilesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 """Tests of `find_python_files`.""" 

+

650 

+

651 def test_find_python_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

652 self.make_file("sub/a.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

653 self.make_file("sub/b.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

654 self.make_file("sub/x.c") # nope: not .py 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

655 self.make_file("sub/ssub/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

656 self.make_file("sub/ssub/s.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 self.make_file("sub/ssub/~s.py") # nope: editor effluvia 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

658 self.make_file("sub/lab/exp.py") # nope: no __init__.py 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

659 self.make_file("sub/windows.pyw") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

660 py_files = set(find_python_files("sub", include_namespace_packages=False)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

661 self.assert_same_files(py_files, [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

662 "sub/a.py", "sub/b.py", 

+

663 "sub/ssub/__init__.py", "sub/ssub/s.py", 

+

664 "sub/windows.pyw", 

+

665 ]) 

+

666 

+

667 def test_find_python_files_include_namespace_packages(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

668 self.make_file("sub/a.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

669 self.make_file("sub/b.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

670 self.make_file("sub/x.c") # nope: not .py 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

671 self.make_file("sub/ssub/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

672 self.make_file("sub/ssub/s.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

673 self.make_file("sub/ssub/~s.py") # nope: editor effluvia 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

674 self.make_file("sub/lab/exp.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 self.make_file("sub/windows.pyw") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

676 py_files = set(find_python_files("sub", include_namespace_packages=True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

677 self.assert_same_files(py_files, [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

678 "sub/a.py", "sub/b.py", 

+

679 "sub/ssub/__init__.py", "sub/ssub/s.py", 

+

680 "sub/lab/exp.py", 

+

681 "sub/windows.pyw", 

+

682 ]) 

+

683 

+

684 

+

685@pytest.mark.skipif(not env.WINDOWS, reason="Only need to run Windows tests on Windows.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

686class WindowsFileTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

687 """Windows-specific tests of file name handling.""" 

+

688 

+

689 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

690 

+

691 def test_actual_path(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

692 assert actual_path(r'c:\Windows') == actual_path(r'C:\wINDOWS') 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_goldtest_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_goldtest_py.html new file mode 100644 index 000000000..40871989c --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_goldtest_py.html @@ -0,0 +1,273 @@ + + + + + Coverage for tests/test_goldtest.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_goldtest.py: + 100.000% +

+ +

+ 94 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests of the helpers in goldtest.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from tests.coveragetest import CoverageTest, TESTS_DIR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from tests.goldtest import compare, gold_path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from tests.goldtest import contains, contains_any, contains_rx, doesnt_contain 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from tests.helpers import re_line, remove_tree 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18GOOD_GETTY = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19Four score and seven years ago our fathers brought forth upon this continent, a 

+

20new nation, conceived in Liberty, and dedicated to the proposition that all men 

+

21are created equal. 

+

2211/19/9999, Gettysburg, Pennsylvania 

+

23""" 

+

24 

+

25BAD_GETTY = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26Five score and seven years ago our fathers brought forth upon this continent, a 

+

27new nation, conceived in Liberty, and dedicated to the proposition that all men 

+

28are created equal. 

+

29333/4444/55555, Gabcdef, Pennsylvania 

+

30""" 

+

31 

+

32SCRUBS = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 # Numbers don't matter when comparing. 

+

34 (r'\d+', 'D'), 

+

35 (r'G\w+', 'Gxxx'), 

+

36] 

+

37 

+

38def path_regex(path: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 """Convert a file path into a regex that will match that path on any OS.""" 

+

40 return re.sub(r"[/\\]", r"[/\\\\]", path.replace(".", "[.]")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 

+

42ACTUAL_DIR = os.path.join(TESTS_DIR, "actual/testing") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43ACTUAL_GETTY_FILE = os.path.join(ACTUAL_DIR, "getty/gettysburg.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44GOLD_GETTY_FILE = os.path.join(TESTS_DIR, "gold/testing/getty/gettysburg.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45GOLD_GETTY_FILE_RX = path_regex(GOLD_GETTY_FILE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 

+

47GOLD_PATH_RX = path_regex("/tests/gold/testing/getty/gettysburg.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48OUT_PATH_RX = path_regex("out/gettysburg.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50class CompareTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 """Tests of goldtest.py:compare()""" 

+

52 

+

53 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 self.addCleanup(remove_tree, ACTUAL_DIR) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 

+

57 def test_good(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 self.make_file("out/gettysburg.txt", GOOD_GETTY) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 compare(gold_path("testing/getty"), "out", scrubs=SCRUBS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 self.assert_doesnt_exist(ACTUAL_GETTY_FILE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 

+

62 def test_bad(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 self.make_file("out/gettysburg.txt", BAD_GETTY) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 # compare() raises an assertion. 

+

66 msg = rf"Files differ: .*{GOLD_PATH_RX} != {OUT_PATH_RX}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 compare(gold_path("testing/getty"), "out", scrubs=SCRUBS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 

+

70 # Stdout has a description of the diff. The diff shows the scrubbed content. 

+

71 stdout = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 assert "- Four score" in stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 assert "+ Five score" in stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 assert re_line(rf"^:::: diff '.*{GOLD_PATH_RX}' and '{OUT_PATH_RX}'", stdout) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 assert re_line(rf"^:::: end diff '.*{GOLD_PATH_RX}' and '{OUT_PATH_RX}'", stdout) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 assert " D/D/D, Gxxx, Pennsylvania" in stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78 # The actual file was saved. 

+

79 with open(ACTUAL_GETTY_FILE) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 saved = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 assert saved == BAD_GETTY 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 

+

83 def test_good_needs_scrubs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 # Comparing the "good" result without scrubbing the variable parts will fail. 

+

85 self.make_file("out/gettysburg.txt", GOOD_GETTY) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 # compare() raises an assertion. 

+

88 msg = rf"Files differ: .*{GOLD_PATH_RX} != {OUT_PATH_RX}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 compare(gold_path("testing/getty"), "out") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 

+

92 stdout = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 assert "- 11/19/1863, Gettysburg, Pennsylvania" in stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 assert "+ 11/19/9999, Gettysburg, Pennsylvania" in stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96 def test_actual_extra(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 self.make_file("out/gettysburg.txt", GOOD_GETTY) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 self.make_file("out/another.more", "hi") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 

+

100 # Extra files in the output are ok with actual_extra=True. 

+

101 compare(gold_path("testing/getty"), "out", scrubs=SCRUBS, actual_extra=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 

+

103 # But not without it: 

+

104 msg = r"Files in out only: \['another.more'\]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 compare(gold_path("testing/getty"), "out", scrubs=SCRUBS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 self.assert_exists(os.path.join(TESTS_DIR, "actual/testing/getty/another.more")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 

+

109 # But only the files matching the file_pattern are considered. 

+

110 compare(gold_path("testing/getty"), "out", file_pattern="*.txt", scrubs=SCRUBS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 

+

112 def test_xml_good(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 self.make_file("out/output.xml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 <?xml version="1.0" ?> 

+

115 <the_root c="three" b="222" a="one"> 

+

116 <also z="nine" x="seven" y="888"> 

+

117 Goodie 

+

118 </also> 

+

119 </the_root> 

+

120 """) 

+

121 compare(gold_path("testing/xml"), "out", scrubs=SCRUBS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 

+

123 def test_xml_bad(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 self.make_file("out/output.xml", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 <?xml version="1.0" ?> 

+

126 <the_root c="nine" b="2" a="one"> 

+

127 <also z="three" x="seven" y="8"> 

+

128 Goodbye 

+

129 </also> 

+

130 </the_root> 

+

131 """) 

+

132 

+

133 # compare() raises an exception. 

+

134 gold_rx = path_regex(gold_path("testing/xml/output.xml")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 out_rx = path_regex("out/output.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 msg = rf"Files differ: .*{gold_rx} != {out_rx}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 compare(gold_path("testing/xml"), "out", scrubs=SCRUBS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 

+

140 # Stdout has a description of the diff. The diff shows the 

+

141 # canonicalized and scrubbed content. 

+

142 stdout = self.stdout() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 assert '- <the_root a="one" b="D" c="three">' in stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 assert '+ <the_root a="one" b="D" c="nine">' in stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 

+

146 

+

147class ContainsTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 """Tests of the various "contains" functions in goldtest.py""" 

+

149 

+

150 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 

+

152 def test_contains(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 contains(GOLD_GETTY_FILE, "Four", "fathers", "dedicated") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 msg = rf"Missing content in {GOLD_GETTY_FILE_RX}: 'xyzzy'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 contains(GOLD_GETTY_FILE, "Four", "fathers", "xyzzy", "dedicated") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 

+

158 def test_contains_rx(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 contains_rx(GOLD_GETTY_FILE, r"Fo.r", r"f[abc]thers", "dedi[cdef]ated") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 msg = rf"Missing regex in {GOLD_GETTY_FILE_RX}: r'm\[opq\]thers'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 contains_rx(GOLD_GETTY_FILE, r"Fo.r", r"m[opq]thers") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 

+

164 def test_contains_any(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 contains_any(GOLD_GETTY_FILE, "Five", "Four", "Three") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 msg = rf"Missing content in {GOLD_GETTY_FILE_RX}: 'One' \[1 of 3\]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 contains_any(GOLD_GETTY_FILE, "One", "Two", "Three") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 

+

170 def test_doesnt_contain(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 doesnt_contain(GOLD_GETTY_FILE, "One", "Two", "Three") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 msg = rf"Forbidden content in {GOLD_GETTY_FILE_RX}: 'Four'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 doesnt_contain(GOLD_GETTY_FILE, "Three", "Four", "Five") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_html_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_html_py.html new file mode 100644 index 000000000..c419da276 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_html_py.html @@ -0,0 +1,1358 @@ + + + + + Coverage for tests/test_html.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_html.py: + 100.000% +

+ +

+ 599 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests that HTML generation is awesome.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import collections 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import json 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from unittest import mock 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from typing import Any, Dict, IO, List, Optional, Set, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage import env, Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.exceptions import NoDataError, NotPython, NoSource 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.files import abs_file, flat_rootname 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26import coverage.html 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.report import get_analysis_to_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28from coverage.types import TLineNo, TMorf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 

+

30from tests.coveragetest import CoverageTest, TESTS_DIR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31from tests.goldtest import gold_path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32from tests.goldtest import compare, contains, contains_rx, doesnt_contain, contains_any 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33from tests.helpers import assert_coverage_warnings, change_dir 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 

+

36class HtmlTestHelpers(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 """Methods that help with HTML tests.""" 

+

38 

+

39 def create_initial_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 """Create the source files we need to run these tests.""" 

+

41 self.make_file("main_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 import helper1, helper2 

+

43 helper1.func1(12) 

+

44 helper2.func2(12) 

+

45 """) 

+

46 self.make_file("helper1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 def func1(x): 

+

48 if x % 2: 

+

49 print("odd") 

+

50 """) 

+

51 self.make_file("helper2.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 def func2(x): 

+

53 print("x is %d" % x) 

+

54 """) 

+

55 

+

56 def run_coverage( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

57 self, 

+

58 covargs: Optional[Dict[str, Any]] = None, 

+

59 htmlargs: Optional[Dict[str, Any]] = None, 

+

60 ) -> float: 

+

61 """Run coverage.py on main_file.py, and create an HTML report.""" 

+

62 self.clean_local_file_imports() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 cov = coverage.Coverage(**(covargs or {})) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 self.start_import_stop(cov, "main_file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 ret = cov.html_report(**(htmlargs or {})) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 self.assert_valid_hrefs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 return ret 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 

+

69 def get_html_report_content(self, module: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 """Return the content of the HTML report for `module`.""" 

+

71 filename = flat_rootname(module) + ".html" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 filename = os.path.join("htmlcov", filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 with open(filename) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 return f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 

+

76 def get_html_index_content(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 """Return the content of index.html. 

+

78 

+

79 Time stamps are replaced with a placeholder so that clocks don't matter. 

+

80 

+

81 """ 

+

82 with open("htmlcov/index.html") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 index = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 index = re.sub( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 r"created at \d{4}-\d{2}-\d{2} \d{2}:\d{2} \+\d{4}", 

+

86 r"created at YYYY-MM-DD HH:MM +ZZZZ", 

+

87 index, 

+

88 ) 

+

89 index = re.sub( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 r"created at \d{4}-\d{2}-\d{2} \d{2}:\d{2}", 

+

91 r"created at YYYY-MM-DD HH:MM", 

+

92 index, 

+

93 ) 

+

94 return index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96 def assert_correct_timestamp(self, html: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 """Extract the time stamp from `html`, and assert it is recent.""" 

+

98 timestamp_pat = r"created at (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 m = re.search(timestamp_pat, html) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 assert m, "Didn't find a time stamp!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 timestamp = datetime.datetime(*[int(v) for v in m.groups()]) # type: ignore[arg-type] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 # The time stamp only records the minute, so the delta could be from 

+

103 # 12:00 to 12:01:59, or two minutes. 

+

104 self.assert_recent_datetime( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 timestamp, 

+

106 seconds=120, 

+

107 msg=f"Time stamp is wrong: {timestamp}", 

+

108 ) 

+

109 

+

110 def assert_valid_hrefs(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 """Assert that the hrefs in htmlcov/*.html to see the references are valid. 

+

112 

+

113 Doesn't check external links (those with a protocol). 

+

114 """ 

+

115 hrefs = collections.defaultdict(set) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 for fname in glob.glob("htmlcov/*.html"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 with open(fname) as fhtml: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 html = fhtml.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 for href in re.findall(r""" href=['"]([^'"]*)['"]""", html): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 if href.startswith("#"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 assert re.search(rf""" id=['"]{href[1:]}['"]""", html), ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 f"Fragment {href!r} in {fname} has no anchor" 

+

123 ) 

+

124 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 if "://" in href: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 hrefs[href].add(fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 for href, sources in hrefs.items(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 assert os.path.exists(f"htmlcov/{href}"), ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 f"These files link to {href!r}, which doesn't exist: {', '.join(sources)}" 

+

131 ) 

+

132 

+

133 

+

134class FileWriteTracker: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 """A fake object to track how `open` is used to write files.""" 

+

136 def __init__(self, written: Set[str]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 self.written = written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 

+

139 def open(self, filename: str, mode: str = "r") -> IO[str]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 """Be just like `open`, but write written file names to `self.written`.""" 

+

141 if mode.startswith("w"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 self.written.add(filename.replace('\\', '/')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 return open(filename, mode) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 

+

145 

+

146class HtmlDeltaTest(HtmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 """Tests of the HTML delta speed-ups.""" 

+

148 

+

149 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 

+

152 # At least one of our tests monkey-patches the version of coverage.py, 

+

153 # so grab it here to restore it later. 

+

154 self.real_coverage_version = coverage.__version__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 self.addCleanup(setattr, coverage, "__version__", self.real_coverage_version) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 

+

157 self.files_written: Set[str] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 

+

159 def run_coverage( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

160 self, 

+

161 covargs: Optional[Dict[str, Any]] = None, 

+

162 htmlargs: Optional[Dict[str, Any]] = None, 

+

163 ) -> float: 

+

164 """Run coverage in-process for the delta tests. 

+

165 

+

166 For the delta tests, we always want `source=.` and we want to track 

+

167 which files are written. `self.files_written` will be the file names 

+

168 that were opened for writing in html.py. 

+

169 

+

170 """ 

+

171 covargs = covargs or {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 covargs['source'] = "." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 self.files_written = set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 mock_open = FileWriteTracker(self.files_written).open 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 with mock.patch("coverage.html.open", mock_open): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 return super().run_coverage(covargs=covargs, htmlargs=htmlargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 

+

178 def assert_htmlcov_files_exist(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 """Assert that all the expected htmlcov files exist.""" 

+

180 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 self.assert_exists("htmlcov/main_file_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 self.assert_exists("htmlcov/helper1_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 self.assert_exists("htmlcov/helper2_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 self.assert_exists("htmlcov/style.css") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 self.assert_exists("htmlcov/coverage_html.js") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 self.assert_exists("htmlcov/.gitignore") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 

+

188 def test_html_created(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 # Test basic HTML generation: files should be created. 

+

190 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 self.assert_htmlcov_files_exist() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 def test_html_delta_from_source_change(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 # HTML generation can create only the files that have changed. 

+

196 # In this case, helper1 changes because its source is different. 

+

197 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 index1 = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 

+

201 # Now change a file (but only in a comment) and do it again. 

+

202 self.make_file("helper1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 def func1(x): # A nice function 

+

204 if x % 2: 

+

205 print("odd") 

+

206 """) 

+

207 

+

208 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 

+

210 # Only the changed files should have been created. 

+

211 self.assert_htmlcov_files_exist() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 assert "htmlcov/index.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 assert "htmlcov/helper1_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 assert "htmlcov/helper2_py.html" not in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 assert "htmlcov/main_file_py.html" not in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 

+

217 # Because the source change was only a comment, the index is the same. 

+

218 index2 = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 assert index1 == index2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 

+

221 def test_html_delta_from_coverage_change(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 # HTML generation can create only the files that have changed. 

+

223 # In this case, helper1 changes because its coverage is different. 

+

224 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 

+

227 # Now change a file and do it again. main_file is different, and calls 

+

228 # helper1 differently. 

+

229 self.make_file("main_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 import helper1, helper2 

+

231 helper1.func1(23) 

+

232 helper2.func2(23) 

+

233 """) 

+

234 

+

235 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 

+

237 # Only the changed files should have been created. 

+

238 self.assert_htmlcov_files_exist() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 assert "htmlcov/index.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 assert "htmlcov/helper1_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 assert "htmlcov/helper2_py.html" not in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 assert "htmlcov/main_file_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 

+

244 def test_html_delta_from_settings_change(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 # HTML generation can create only the files that have changed. 

+

246 # In this case, everything changes because the coverage.py settings 

+

247 # have changed. 

+

248 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 self.run_coverage(covargs=dict(omit=[])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 index1 = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 

+

252 self.run_coverage(covargs=dict(omit=['xyzzy*'])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 

+

254 # All the files have been reported again. 

+

255 self.assert_htmlcov_files_exist() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 assert "htmlcov/index.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 assert "htmlcov/helper1_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 assert "htmlcov/helper2_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 assert "htmlcov/main_file_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 

+

261 index2 = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 assert index1 == index2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 

+

264 def test_html_delta_from_coverage_version_change(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 # HTML generation can create only the files that have changed. 

+

266 # In this case, everything changes because the coverage.py version has 

+

267 # changed. 

+

268 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 index1 = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 # "Upgrade" coverage.py! 

+

273 coverage.__version__ = "XYZZY" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 

+

275 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 

+

277 # All the files have been reported again. 

+

278 self.assert_htmlcov_files_exist() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 assert "htmlcov/index.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 assert "htmlcov/helper1_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 assert "htmlcov/helper2_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 assert "htmlcov/main_file_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 

+

284 index2 = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 fixed_index2 = index2.replace("XYZZY", self.real_coverage_version) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 assert index1 == fixed_index2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 

+

288 def test_file_becomes_100(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 

+

292 # Now change a file and do it again 

+

293 self.make_file("main_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 import helper1, helper2 

+

295 # helper1 is now 100% 

+

296 helper1.func1(12) 

+

297 helper1.func1(23) 

+

298 """) 

+

299 

+

300 self.run_coverage(htmlargs=dict(skip_covered=True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 

+

302 # The 100% file, skipped, shouldn't be here. 

+

303 self.assert_doesnt_exist("htmlcov/helper1_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 

+

305 def test_status_format_change(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 

+

309 with open("htmlcov/status.json") as status_json: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 status_data = json.load(status_json) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 

+

312 assert status_data['format'] == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 status_data['format'] = 99 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 with open("htmlcov/status.json", "w") as status_json: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 json.dump(status_data, status_json) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 

+

317 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 

+

319 # All the files have been reported again. 

+

320 self.assert_htmlcov_files_exist() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 assert "htmlcov/index.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 assert "htmlcov/helper1_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 assert "htmlcov/helper2_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 assert "htmlcov/main_file_py.html" in self.files_written 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 

+

326 def test_dont_overwrite_gitignore(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 self.make_file("htmlcov/.gitignore", "# ignore nothing") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

330 with open("htmlcov/.gitignore") as fgi: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 assert fgi.read() == "# ignore nothing" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 

+

333 def test_dont_write_gitignore_into_existing_directory(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 self.make_file("htmlcov/README", "My files: don't touch!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 self.assert_doesnt_exist("htmlcov/.gitignore") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

338 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 

+

340 

+

341class HtmlTitleTest(HtmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 """Tests of the HTML title support.""" 

+

343 

+

344 def test_default_title(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

347 index = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 assert "<title>Coverage report</title>" in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 assert "<h1>Coverage report:" in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 

+

351 def test_title_set_in_config_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 self.make_file(".coveragerc", "[html]\ntitle = Metrics & stuff!\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 index = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 assert "<title>Metrics &amp; stuff!</title>" in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 assert "<h1>Metrics &amp; stuff!:" in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 

+

359 def test_non_ascii_title_set_in_config_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

360 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 self.make_file(".coveragerc", "[html]\ntitle = «ταБЬℓσ» numbers") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 index = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 assert "<title>&#171;&#964;&#945;&#1041;&#1068;&#8467;&#963;&#187; numbers" in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 assert "<h1>&#171;&#964;&#945;&#1041;&#1068;&#8467;&#963;&#187; numbers" in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 

+

367 def test_title_set_in_args(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

368 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 self.make_file(".coveragerc", "[html]\ntitle = Good title\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

370 self.run_coverage(htmlargs=dict(title="«ταБЬℓσ» & stüff!")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 index = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 "<title>&#171;&#964;&#945;&#1041;&#1068;&#8467;&#963;&#187; " + 

+

374 "&amp; st&#252;ff!</title>" 

+

375 ) 

+

376 assert expected in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 assert "<h1>&#171;&#964;&#945;&#1041;&#1068;&#8467;&#963;&#187; &amp; st&#252;ff!:" in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 

+

379 

+

380class HtmlWithUnparsableFilesTest(HtmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 """Test the behavior when measuring unparsable files.""" 

+

382 

+

383 def test_dotpy_not_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

384 self.make_file("main.py", "import innocuous") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

385 self.make_file("innocuous.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 self.make_file("innocuous.py", "<h1>This isn't python!</h1>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 msg = "Couldn't parse '.*innocuous.py' as Python source: .* at line 1" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 with pytest.raises(NotPython, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

392 

+

393 def test_dotpy_not_python_ignored(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

394 self.make_file("main.py", "import innocuous") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

395 self.make_file("innocuous.py", "a = 2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 

+

399 self.make_file("innocuous.py", "<h1>This isn't python!</h1>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 cov.html_report(ignore_errors=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 assert_coverage_warnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 warns, 

+

404 re.compile(r"Couldn't parse Python file '.*innocuous.py' \(couldnt-parse\)"), 

+

405 ) 

+

406 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 # This would be better as a glob, if the HTML layout changes: 

+

408 self.assert_doesnt_exist("htmlcov/innocuous.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 

+

410 def test_dothtml_not_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 # Run an "HTML" file 

+

412 self.make_file("innocuous.html", "a = 3") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

413 self.make_data_file(lines={abs_file("innocuous.html"): [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

414 # Before reporting, change it to be an HTML file. 

+

415 self.make_file("innocuous.html", "<h1>This isn't python at all!</h1>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

416 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

418 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

420 

+

421 def test_execed_liar_ignored(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 # Jinja2 sets __file__ to be a non-Python file, and then execs code. 

+

423 # If that file contains non-Python code, a TokenError shouldn't 

+

424 # have been raised when writing the HTML report. 

+

425 source = "exec(compile('','','exec'), {'__file__': 'liar.html'})" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 self.make_file("liar.py", source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 self.make_file("liar.html", "{# Whoops, not python code #}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 self.start_import_stop(cov, "liar") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 

+

433 def test_execed_liar_ignored_indentation_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

434 # Jinja2 sets __file__ to be a non-Python file, and then execs code. 

+

435 # If that file contains untokenizable code, we shouldn't get an 

+

436 # exception. 

+

437 source = "exec(compile('','','exec'), {'__file__': 'liar.html'})" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

438 self.make_file("liar.py", source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

439 # Tokenize will raise an IndentationError if it can't dedent. 

+

440 self.make_file("liar.html", "0\n 2\n 1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

441 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 self.start_import_stop(cov, "liar") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 

+

446 def test_decode_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 # https://github.com/nedbat/coveragepy/issues/351 

+

448 # imp.load_module won't load a file with an undecodable character 

+

449 # in a comment, though Python will run them. So we'll change the 

+

450 # file after running. 

+

451 self.make_file("main.py", "import sub.not_ascii") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

452 self.make_file("sub/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453 self.make_file("sub/not_ascii.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 # coding: utf-8 

+

455 a = 1 # Isn't this great?! 

+

456 """) 

+

457 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 

+

460 # Create the undecodable version of the file. make_file is too helpful, 

+

461 # so get down and dirty with bytes. 

+

462 with open("sub/not_ascii.py", "wb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 f.write(b"# coding: utf-8\na = 1 # Isn't this great?\xcb!\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

464 

+

465 with open("sub/not_ascii.py", "rb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 undecodable = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

467 assert b"?\xcb!" in undecodable 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 

+

469 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 

+

471 html_report = self.get_html_report_content("sub/not_ascii.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

472 expected = "# Isn't this great?&#65533;!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

473 assert expected in html_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 

+

475 def test_formfeeds(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

476 # https://github.com/nedbat/coveragepy/issues/360 

+

477 self.make_file("formfeed.py", "line_one = 1\n\f\nline_two = 2\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 self.start_import_stop(cov, "formfeed") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 

+

482 formfeed_html = self.get_html_report_content("formfeed.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 assert "line_two" in formfeed_html 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 

+

485 def test_splitlines_special_chars(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 # https://github.com/nedbat/coveragepy/issues/1512 

+

487 # See https://docs.python.org/3/library/stdtypes.html#str.splitlines for 

+

488 # the characters splitlines treats specially that readlines does not. 

+

489 

+

490 # I'm not exactly sure why we need the "a" strings here, but the old 

+

491 # code wasn't failing without them. 

+

492 self.make_file("splitlines_is_weird.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

493 test = { 

+

494 "0b": ["\x0b0"], "a1": "this is line 2", 

+

495 "0c": ["\x0c0"], "a2": "this is line 3", 

+

496 "1c": ["\x1c0"], "a3": "this is line 4", 

+

497 "1d": ["\x1d0"], "a4": "this is line 5", 

+

498 "1e": ["\x1e0"], "a5": "this is line 6", 

+

499 "85": ["\x850"], "a6": "this is line 7", 

+

500 "2028": ["\u20280"], "a7": "this is line 8", 

+

501 "2029": ["\u20290"], "a8": "this is line 9", 

+

502 } 

+

503 DONE = 1 

+

504 """) 

+

505 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 self.start_import_stop(cov, "splitlines_is_weird") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 

+

509 the_html = self.get_html_report_content("splitlines_is_weird.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

510 assert "DONE" in the_html 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 

+

512 # Check that the lines are properly decoded and reported... 

+

513 html_lines = the_html.split("\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 assert any(re.search(r'id="t2".*"this is line 2"', line) for line in html_lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 assert any(re.search(r'id="t9".*"this is line 9"', line) for line in html_lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

516 

+

517 

+

518class HtmlTest(HtmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

519 """Moar HTML tests.""" 

+

520 

+

521 def test_missing_source_file_incorrect_message(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 # https://github.com/nedbat/coveragepy/issues/60 

+

523 self.make_file("thefile.py", "import sub.another\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

524 self.make_file("sub/__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

525 self.make_file("sub/another.py", "print('another')\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

526 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

527 self.start_import_stop(cov, 'thefile') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

528 os.remove("sub/another.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

529 

+

530 missing_file = os.path.join(self.temp_dir, "sub", "another.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

531 missing_file = os.path.realpath(missing_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

532 msg = "(?i)No source for code: '%s'" % re.escape(missing_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 with pytest.raises(NoSource, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 

+

536 def test_extensionless_file_collides_with_extension(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

537 # It used to be that "program" and "program.py" would both be reported 

+

538 # to "program.html". Now they are not. 

+

539 # https://github.com/nedbat/coveragepy/issues/69 

+

540 self.make_file("program", "import program\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

541 self.make_file("program.py", "a = 1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

542 self.make_data_file(lines={ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

543 abs_file("program"): [1], 

+

544 abs_file("program.py"): [1], 

+

545 }) 

+

546 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

548 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

549 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 self.assert_exists("htmlcov/program.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 self.assert_exists("htmlcov/program_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

552 

+

553 def test_has_date_stamp_in_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

555 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

556 

+

557 with open("htmlcov/index.html") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

558 self.assert_correct_timestamp(f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

559 with open("htmlcov/main_file_py.html") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

560 self.assert_correct_timestamp(f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

561 

+

562 def test_reporting_on_unmeasured_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

563 # It should be ok to ask for an HTML report on a file that wasn't even 

+

564 # measured at all. https://github.com/nedbat/coveragepy/issues/403 

+

565 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 self.make_file("other.py", "a = 1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

567 self.run_coverage(htmlargs=dict(morfs=['other.py'])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

569 self.assert_exists("htmlcov/other_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 

+

571 def make_main_and_not_covered(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 """Helper to create files for skip_covered scenarios.""" 

+

573 self.make_file("main_file.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

574 import not_covered 

+

575 

+

576 def normal(): 

+

577 print("z") 

+

578 normal() 

+

579 """) 

+

580 self.make_file("not_covered.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 def not_covered(): 

+

582 print("n") 

+

583 """) 

+

584 

+

585 def test_report_skip_covered(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

586 self.make_main_and_not_covered() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

587 self.run_coverage(htmlargs=dict(skip_covered=True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

589 self.assert_doesnt_exist("htmlcov/main_file_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

590 self.assert_exists("htmlcov/not_covered_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 

+

592 def test_html_skip_covered(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 self.make_main_and_not_covered() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

594 self.make_file(".coveragerc", "[html]\nskip_covered = True") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

595 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

596 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

597 self.assert_doesnt_exist("htmlcov/main_file_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

598 self.assert_exists("htmlcov/not_covered_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

599 index = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

600 assert "1 file skipped due to complete coverage." in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

601 

+

602 def test_report_skip_covered_branches(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

603 self.make_main_and_not_covered() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

604 self.run_coverage(covargs=dict(branch=True), htmlargs=dict(skip_covered=True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

605 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 self.assert_doesnt_exist("htmlcov/main_file_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

607 self.assert_exists("htmlcov/not_covered_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

608 

+

609 def test_report_skip_covered_100(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

610 self.make_file("main_file.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

611 def normal(): 

+

612 print("z") 

+

613 normal() 

+

614 """) 

+

615 res = self.run_coverage(covargs=dict(source="."), htmlargs=dict(skip_covered=True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

616 assert res == 100.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 self.assert_doesnt_exist("htmlcov/main_file_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

618 

+

619 def make_init_and_main(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

620 """Helper to create files for skip_empty scenarios.""" 

+

621 self.make_file("submodule/__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

622 self.make_file("main_file.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

623 import submodule 

+

624 

+

625 def normal(): 

+

626 print("z") 

+

627 normal() 

+

628 """) 

+

629 

+

630 def test_report_skip_empty(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

631 self.make_init_and_main() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

632 self.run_coverage(htmlargs=dict(skip_empty=True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

634 self.assert_exists("htmlcov/main_file_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

635 self.assert_doesnt_exist("htmlcov/submodule___init___py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

636 index = self.get_html_index_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

637 assert "1 empty file skipped." in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

638 

+

639 def test_html_skip_empty(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

640 self.make_init_and_main() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

641 self.make_file(".coveragerc", "[html]\nskip_empty = True") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

642 self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

643 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

644 self.assert_exists("htmlcov/main_file_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 self.assert_doesnt_exist("htmlcov/submodule___init___py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 

+

647 

+

648def filepath_to_regex(path: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 """Create a regex for scrubbing a file path.""" 

+

650 regex = re.escape(path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

651 # If there's a backslash, let it match either slash. 

+

652 regex = regex.replace(r"\\", r"[\\/]") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

653 if env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

654 regex = "(?i)" + regex 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

655 return regex 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

656 

+

657 

+

658def compare_html( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

659 expected: str, 

+

660 actual: str, 

+

661 extra_scrubs: Optional[List[Tuple[str, str]]] = None, 

+

662) -> None: 

+

663 """Specialized compare function for our HTML files.""" 

+

664 __tracebackhide__ = True # pytest, please don't show me this function. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

665 scrubs = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

666 (r'/coverage.readthedocs.io/?[-.\w/]*', '/coverage.readthedocs.io/VER'), 

+

667 (r'coverage.py v[\d.abcdev]+', 'coverage.py vVER'), 

+

668 (r'created at \d\d\d\d-\d\d-\d\d \d\d:\d\d [-+]\d\d\d\d', 'created at DATE'), 

+

669 (r'created at \d\d\d\d-\d\d-\d\d \d\d:\d\d', 'created at DATE'), 

+

670 # Occasionally an absolute path is in the HTML report. 

+

671 (filepath_to_regex(TESTS_DIR), 'TESTS_DIR'), 

+

672 (filepath_to_regex(flat_rootname(str(TESTS_DIR))), '_TESTS_DIR'), 

+

673 # The temp dir the tests make. 

+

674 (filepath_to_regex(os.getcwd()), 'TEST_TMPDIR'), 

+

675 (filepath_to_regex(flat_rootname(str(os.getcwd()))), '_TEST_TMPDIR'), 

+

676 (filepath_to_regex(abs_file(os.getcwd())), 'TEST_TMPDIR'), 

+

677 (filepath_to_regex(flat_rootname(str(abs_file(os.getcwd())))), '_TEST_TMPDIR'), 

+

678 (r'/private/var/[\w/]+/pytest-of-\w+/pytest-\d+/(popen-gw\d+/)?t\d+', 'TEST_TMPDIR'), 

+

679 ] 

+

680 if env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

681 # For file paths... 

+

682 scrubs += [(r"\\", "/")] 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

683 if extra_scrubs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

684 scrubs += extra_scrubs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 compare(expected, actual, file_pattern="*.html", scrubs=scrubs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

686 

+

687 

+

688class HtmlGoldTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

689 """Tests of HTML reporting that use gold files.""" 

+

690 

+

691 def test_a(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

692 self.make_file("a.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

693 if 1 < 2: 

+

694 # Needed a < to look at HTML entities. 

+

695 a = 3 

+

696 else: 

+

697 a = 4 

+

698 """) 

+

699 

+

700 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

701 a = self.start_import_stop(cov, "a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

702 cov.html_report(a, directory='out/a') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

703 

+

704 compare_html(gold_path("html/a"), "out/a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

705 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

706 "out/a/a_py.html", 

+

707 ('<span class="key">if</span> <span class="num">1</span> ' + 

+

708 '<span class="op">&lt;</span> <span class="num">2</span>'), 

+

709 (' <span class="nam">a</span> ' + 

+

710 '<span class="op">=</span> <span class="num">3</span>'), 

+

711 '<span class="pc_cov">67%</span>', 

+

712 ) 

+

713 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

714 "out/a/index.html", 

+

715 '<a href="a_py.html">a.py</a>', 

+

716 '<span class="pc_cov">67%</span>', 

+

717 '<td class="right" data-ratio="2 3">67%</td>', 

+

718 ) 

+

719 

+

720 def test_b_branch(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

721 self.make_file("b.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

722 def one(x): 

+

723 # This will be a branch that misses the else. 

+

724 if x < 2: 

+

725 a = 3 

+

726 else: 

+

727 a = 4 

+

728 

+

729 one(1) 

+

730 

+

731 def two(x): 

+

732 # A missed else that branches to "exit" 

+

733 if x: 

+

734 a = 5 

+

735 

+

736 two(1) 

+

737 

+

738 def three(): 

+

739 try: 

+

740 # This if has two branches, *neither* one taken. 

+

741 if name_error_this_variable_doesnt_exist: 

+

742 a = 1 

+

743 else: 

+

744 a = 2 

+

745 except: 

+

746 pass 

+

747 

+

748 three() 

+

749 """) 

+

750 

+

751 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

752 b = self.start_import_stop(cov, "b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

753 cov.html_report(b, directory="out/b_branch") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

754 

+

755 compare_html(gold_path("html/b_branch"), "out/b_branch") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

756 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 "out/b_branch/b_py.html", 

+

758 ('<span class="key">if</span> <span class="nam">x</span> ' + 

+

759 '<span class="op">&lt;</span> <span class="num">2</span>'), 

+

760 (' <span class="nam">a</span> <span class="op">=</span> ' + 

+

761 '<span class="num">3</span>'), 

+

762 '<span class="pc_cov">70%</span>', 

+

763 

+

764 ('<span class="annotate short">3&#x202F;&#x219B;&#x202F;6</span>' + 

+

765 '<span class="annotate long">line 3 didn\'t jump to line 6, ' + 

+

766 'because the condition on line 3 was never false</span>'), 

+

767 ('<span class="annotate short">12&#x202F;&#x219B;&#x202F;exit</span>' + 

+

768 '<span class="annotate long">line 12 didn\'t return from function \'two\', ' + 

+

769 'because the condition on line 12 was never false</span>'), 

+

770 ('<span class="annotate short">20&#x202F;&#x219B;&#x202F;21,&nbsp;&nbsp; ' + 

+

771 '20&#x202F;&#x219B;&#x202F;23</span>' + 

+

772 '<span class="annotate long">2 missed branches: ' + 

+

773 '1) line 20 didn\'t jump to line 21, ' + 

+

774 'because the condition on line 20 was never true, ' + 

+

775 '2) line 20 didn\'t jump to line 23, ' + 

+

776 'because the condition on line 20 was never false</span>'), 

+

777 ) 

+

778 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

779 "out/b_branch/index.html", 

+

780 '<a href="b_py.html">b.py</a>', 

+

781 '<span class="pc_cov">70%</span>', 

+

782 '<td class="right" data-ratio="16 23">70%</td>', 

+

783 ) 

+

784 

+

785 def test_bom(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

786 self.make_file("bom.py", bytes=b"""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

787\xef\xbb\xbf# A Python source file in utf-8, with BOM. 

+

788math = "3\xc3\x974 = 12, \xc3\xb72 = 6\xc2\xb10" 

+

789 

+

790import sys 

+

791 

+

792if sys.version_info >= (3, 0): 

+

793 assert len(math) == 18 

+

794 assert len(math.encode('utf-8')) == 21 

+

795else: 

+

796 assert len(math) == 21 

+

797 assert len(math.decode('utf-8')) == 18 

+

798""".replace(b"\n", b"\r\n")) 

+

799 

+

800 # It's important that the source file really have a BOM, which can 

+

801 # get lost, so check that it's really there, and that we have \r\n 

+

802 # line endings. 

+

803 with open("bom.py", "rb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

804 data = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

805 assert data[:3] == b"\xef\xbb\xbf" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

806 assert data.count(b"\r\n") == 11 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

807 

+

808 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

809 bom = self.start_import_stop(cov, "bom") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

810 cov.html_report(bom, directory="out/bom") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

811 

+

812 compare_html(gold_path("html/bom"), "out/bom") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

813 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

814 "out/bom/bom_py.html", 

+

815 '<span class="str">"3&#215;4 = 12, &#247;2 = 6&#177;0"</span>', 

+

816 ) 

+

817 

+

818 def test_isolatin1(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

819 self.make_file("isolatin1.py", bytes=b"""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

820# -*- coding: iso8859-1 -*- 

+

821# A Python source file in another encoding. 

+

822 

+

823math = "3\xd74 = 12, \xf72 = 6\xb10" 

+

824assert len(math) == 18 

+

825""") 

+

826 

+

827 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

828 isolatin1 = self.start_import_stop(cov, "isolatin1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

829 cov.html_report(isolatin1, directory="out/isolatin1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

830 

+

831 compare_html(gold_path("html/isolatin1"), "out/isolatin1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

832 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

833 "out/isolatin1/isolatin1_py.html", 

+

834 '<span class="str">"3&#215;4 = 12, &#247;2 = 6&#177;0"</span>', 

+

835 ) 

+

836 

+

837 def make_main_etc(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

838 """Make main.py and m1-m3.py for other tests.""" 

+

839 self.make_file("main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

840 import m1 

+

841 import m2 

+

842 import m3 

+

843 

+

844 a = 5 

+

845 b = 6 

+

846 

+

847 assert m1.m1a == 1 

+

848 assert m2.m2a == 1 

+

849 assert m3.m3a == 1 

+

850 """) 

+

851 self.make_file("m1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

852 m1a = 1 

+

853 m1b = 2 

+

854 """) 

+

855 self.make_file("m2.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

856 m2a = 1 

+

857 m2b = 2 

+

858 """) 

+

859 self.make_file("m3.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

860 m3a = 1 

+

861 m3b = 2 

+

862 """) 

+

863 

+

864 def test_omit_1(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

865 self.make_main_etc() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

866 cov = coverage.Coverage(include=["./*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

867 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

868 cov.html_report(directory="out/omit_1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

869 compare_html(gold_path("html/omit_1"), "out/omit_1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

870 

+

871 def test_omit_2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

872 self.make_main_etc() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

873 cov = coverage.Coverage(include=["./*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

874 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

875 cov.html_report(directory="out/omit_2", omit=["m1.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

876 compare_html(gold_path("html/omit_2"), "out/omit_2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

877 

+

878 def test_omit_3(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

879 self.make_main_etc() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

880 cov = coverage.Coverage(include=["./*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

881 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

882 cov.html_report(directory="out/omit_3", omit=["m1.py", "m2.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

883 compare_html(gold_path("html/omit_3"), "out/omit_3") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

884 

+

885 def test_omit_4(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

886 self.make_main_etc() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

887 self.make_file("omit4.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

888 [report] 

+

889 omit = m2.py 

+

890 """) 

+

891 

+

892 cov = coverage.Coverage(config_file="omit4.ini", include=["./*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

893 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

894 cov.html_report(directory="out/omit_4") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

895 compare_html(gold_path("html/omit_4"), "out/omit_4") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

896 

+

897 def test_omit_5(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

898 self.make_main_etc() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

899 self.make_file("omit5.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

900 [report] 

+

901 omit = 

+

902 fooey 

+

903 gooey, m[23]*, kablooey 

+

904 helloworld 

+

905 

+

906 [html] 

+

907 directory = out/omit_5 

+

908 """) 

+

909 

+

910 cov = coverage.Coverage(config_file="omit5.ini", include=["./*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

911 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

912 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

913 compare_html(gold_path("html/omit_5"), "out/omit_5") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

914 

+

915 def test_other(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

916 self.make_file("src/here.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

917 import other 

+

918 

+

919 if 1 < 2: 

+

920 h = 3 

+

921 else: 

+

922 h = 4 

+

923 """) 

+

924 self.make_file("othersrc/other.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

925 # A file in another directory. We're checking that it ends up in the 

+

926 # HTML report. 

+

927 

+

928 print("This is the other src!") 

+

929 """) 

+

930 

+

931 with change_dir("src"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

932 sys.path.insert(0, "../othersrc") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

933 cov = coverage.Coverage(include=["./*", "../othersrc/*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

934 self.start_import_stop(cov, "here") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

935 cov.html_report(directory="../out/other") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

936 

+

937 # Different platforms will name the "other" file differently. Rename it 

+

938 actual_file = list(glob.glob("out/other/*_other_py.html")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

939 assert len(actual_file) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

940 os.rename(actual_file[0], "out/other/blah_blah_other_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

941 

+

942 compare_html( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

943 gold_path("html/other"), "out/other", 

+

944 extra_scrubs=[ 

+

945 (r'href="d_[0-9a-z]{16}_', 'href="_TEST_TMPDIR_othersrc_'), 

+

946 ], 

+

947 ) 

+

948 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

949 'out/other/index.html', 

+

950 '<a href="here_py.html">here.py</a>', 

+

951 'other_py.html">', 

+

952 'other.py</a>', 

+

953 ) 

+

954 

+

955 def test_partial(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

956 self.make_file("partial.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

957 # partial branches and excluded lines 

+

958 a = 2 

+

959 

+

960 while "no peephole".upper(): # t4 

+

961 break 

+

962 

+

963 while a: # pragma: no branch 

+

964 break 

+

965 

+

966 if 0: 

+

967 never_happen() 

+

968 

+

969 if 13: 

+

970 a = 14 

+

971 

+

972 if a == 16: 

+

973 raise ZeroDivisionError("17") 

+

974 """) 

+

975 self.make_file("partial.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

976 [run] 

+

977 branch = True 

+

978 

+

979 [report] 

+

980 exclude_lines = 

+

981 raise ZeroDivisionError 

+

982 """) 

+

983 

+

984 cov = coverage.Coverage(config_file="partial.ini") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

985 partial = self.start_import_stop(cov, "partial") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

986 

+

987 if env.PYBEHAVIOR.pep626: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

988 cov.html_report(partial, directory="out/partial_626") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

989 compare_html(gold_path("html/partial_626"), "out/partial_626") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

990 contains_rx( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

991 "out/partial_626/partial_py.html", 

+

992 r'<p class="par run show_par">.* id="t4"', 

+

993 r'<p class="run">.* id="t7"', 

+

994 # The "if 0" and "if 1" statements are marked as run. 

+

995 r'<p class="run">.* id="t10"', 

+

996 # The "raise ZeroDivisionError" is excluded by regex in the .ini. 

+

997 r'<p class="exc show_exc">.* id="t17"', 

+

998 ) 

+

999 contains( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

1000 "out/partial_626/index.html", 

+

1001 '<a href="partial_py.html">partial.py</a>', 

+

1002 '<span class="pc_cov">87%</span>', 

+

1003 ) 

+

1004 else: 

+

1005 cov.html_report(partial, directory="out/partial") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1006 compare_html(gold_path("html/partial"), "out/partial") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1007 contains_rx( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1008 "out/partial/partial_py.html", 

+

1009 r'<p class="par run show_par">.* id="t4"', 

+

1010 r'<p class="run">.* id="t7"', 

+

1011 # The "if 0" and "if 1" statements are optimized away. 

+

1012 r'<p class="pln">.* id="t10"', 

+

1013 # The "raise ZeroDivisionError" is excluded by regex in the .ini. 

+

1014 r'<p class="exc show_exc">.* id="t17"', 

+

1015 ) 

+

1016 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1017 "out/partial/index.html", 

+

1018 '<a href="partial_py.html">partial.py</a>', 

+

1019 '<span class="pc_cov">91%</span>', 

+

1020 ) 

+

1021 

+

1022 def test_styled(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1023 self.make_file("a.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1024 if 1 < 2: 

+

1025 # Needed a < to look at HTML entities. 

+

1026 a = 3 

+

1027 else: 

+

1028 a = 4 

+

1029 """) 

+

1030 

+

1031 self.make_file("extra.css", "/* Doesn't matter what goes in here, it gets copied. */\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1032 

+

1033 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1034 a = self.start_import_stop(cov, "a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1035 cov.html_report(a, directory="out/styled", extra_css="extra.css") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1036 

+

1037 compare_html(gold_path("html/styled"), "out/styled") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1038 compare(gold_path("html/styled"), "out/styled", file_pattern="*.css") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1039 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1040 "out/styled/a_py.html", 

+

1041 '<link rel="stylesheet" href="extra.css" type="text/css">', 

+

1042 ('<span class="key">if</span> <span class="num">1</span> ' + 

+

1043 '<span class="op">&lt;</span> <span class="num">2</span>'), 

+

1044 (' <span class="nam">a</span> <span class="op">=</span> ' + 

+

1045 '<span class="num">3</span>'), 

+

1046 '<span class="pc_cov">67%</span>', 

+

1047 ) 

+

1048 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1049 "out/styled/index.html", 

+

1050 '<link rel="stylesheet" href="extra.css" type="text/css">', 

+

1051 '<a href="a_py.html">a.py</a>', 

+

1052 '<span class="pc_cov">67%</span>', 

+

1053 ) 

+

1054 

+

1055 def test_tabbed(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1056 # The file contents would look like this with 8-space tabs: 

+

1057 # x = 1 

+

1058 # if x: 

+

1059 # a = "tabbed" # aligned comments 

+

1060 # if x: # look nice 

+

1061 # b = "no spaces" # when they 

+

1062 # c = "done" # line up. 

+

1063 self.make_file("tabbed.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1064 x = 1 

+

1065 if x: 

+

1066 \ta = "Tabbed"\t\t\t\t# Aligned comments 

+

1067 \tif x:\t\t\t\t\t# look nice 

+

1068 \t\tb = "No spaces"\t\t\t# when they 

+

1069 \tc = "Done"\t\t\t\t# line up. 

+

1070 """) 

+

1071 

+

1072 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1073 tabbed = self.start_import_stop(cov, "tabbed") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1074 cov.html_report(tabbed, directory="out") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1075 

+

1076 # Editors like to change things, make sure our source file still has tabs. 

+

1077 contains("tabbed.py", "\tif x:\t\t\t\t\t# look nice") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1078 

+

1079 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1080 "out/tabbed_py.html", 

+

1081 '> <span class="key">if</span> ' + 

+

1082 '<span class="nam">x</span><span class="op">:</span>' + 

+

1083 ' ' + 

+

1084 '<span class="com"># look nice</span>', 

+

1085 ) 

+

1086 

+

1087 doesnt_contain("out/tabbed_py.html", "\t") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1088 

+

1089 def test_unicode(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1090 surrogate = "\U000e0100" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1091 

+

1092 self.make_file("unicode.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1093 # -*- coding: utf-8 -*- 

+

1094 # A Python source file with exotic characters. 

+

1095 

+

1096 upside_down = "ʎd˙ǝbɐɹǝʌoɔ" 

+

1097 surrogate = "db40,dd00: x@" 

+

1098 """.replace("@", surrogate)) 

+

1099 

+

1100 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1101 unimod = self.start_import_stop(cov, "unicode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1102 cov.html_report(unimod, directory="out/unicode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1103 

+

1104 compare_html(gold_path("html/unicode"), "out/unicode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1105 contains( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1106 "out/unicode/unicode_py.html", 

+

1107 '<span class="str">"&#654;d&#729;&#477;b&#592;&#633;&#477;&#652;o&#596;"</span>', 

+

1108 ) 

+

1109 

+

1110 contains_any( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1111 "out/unicode/unicode_py.html", 

+

1112 '<span class="str">"db40,dd00: x&#56128;&#56576;"</span>', 

+

1113 '<span class="str">"db40,dd00: x&#917760;"</span>', 

+

1114 ) 

+

1115 

+

1116 def test_accented_dot_py(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1117 # Make a file with a non-ascii character in the filename. 

+

1118 self.make_file("h\xe2t.py", "print('accented')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1119 self.make_data_file(lines={abs_file("h\xe2t.py"): [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1120 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1121 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1122 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1123 self.assert_exists("htmlcov/h\xe2t_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1124 with open("htmlcov/index.html") as indexf: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1125 index = indexf.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1126 assert '<a href="h&#226;t_py.html">h&#226;t.py</a>' in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1127 

+

1128 def test_accented_directory(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1129 # Make a file with a non-ascii character in the directory name. 

+

1130 self.make_file("\xe2/accented.py", "print('accented')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1131 self.make_data_file(lines={abs_file("\xe2/accented.py"): [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1132 

+

1133 # The HTML report uses ascii-encoded HTML entities. 

+

1134 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1135 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1136 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1137 self.assert_exists("htmlcov/d_5786906b6f0ffeb4_accented_py.html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1138 with open("htmlcov/index.html") as indexf: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1139 index = indexf.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1140 expected = '<a href="d_5786906b6f0ffeb4_accented_py.html">&#226;%saccented.py</a>' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1141 assert expected % os.sep in index 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1142 

+

1143 

+

1144class HtmlWithContextsTest(HtmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1145 """Tests of the HTML reports with shown contexts.""" 

+

1146 

+

1147 EMPTY = coverage.html.HtmlDataGeneration.EMPTY 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1148 

+

1149 def html_data_from_cov(self, cov: Coverage, morf: TMorf) -> coverage.html.FileData: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1150 """Get HTML report data from a `Coverage` object for a morf.""" 

+

1151 with self.assert_warnings(cov, []): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1152 datagen = coverage.html.HtmlDataGeneration(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1153 fr, analysis = next(get_analysis_to_report(cov, [morf])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1154 file_data = datagen.data_for_file(fr, analysis) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1155 return file_data 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1156 

+

1157 SOURCE = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1158 def helper(lineno): 

+

1159 x = 2 

+

1160 

+

1161 def test_one(): 

+

1162 a = 5 

+

1163 helper(6) 

+

1164 

+

1165 def test_two(): 

+

1166 a = 9 

+

1167 b = 10 

+

1168 if a > 11: 

+

1169 b = 12 

+

1170 assert a == (13-4) 

+

1171 assert b == (14-4) 

+

1172 helper( 

+

1173 16 

+

1174 ) 

+

1175 

+

1176 test_one() 

+

1177 x = 20 

+

1178 helper(21) 

+

1179 test_two() 

+

1180 """ 

+

1181 

+

1182 OUTER_LINES = [1, 4, 8, 19, 20, 21, 2, 22] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1183 TEST_ONE_LINES = [5, 6, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1184 TEST_TWO_LINES = [9, 10, 11, 13, 14, 15, 2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1185 

+

1186 def test_dynamic_contexts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1187 self.make_file("two_tests.py", self.SOURCE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1188 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1189 cov.set_option("run:dynamic_context", "test_function") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1190 cov.set_option("html:show_contexts", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1191 mod = self.start_import_stop(cov, "two_tests") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1192 d = self.html_data_from_cov(cov, mod) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1193 context_labels = [self.EMPTY, 'two_tests.test_one', 'two_tests.test_two'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1194 expected_lines = [self.OUTER_LINES, self.TEST_ONE_LINES, self.TEST_TWO_LINES] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1195 for label, expected in zip(context_labels, expected_lines): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1196 actual = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1197 ld.number for ld in d.lines 

+

1198 if label == ld.contexts_label or label in (ld.contexts or ()) 

+

1199 ] 

+

1200 assert sorted(expected) == sorted(actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1201 

+

1202 def test_filtered_dynamic_contexts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1203 self.make_file("two_tests.py", self.SOURCE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1204 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1205 cov.set_option("run:dynamic_context", "test_function") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1206 cov.set_option("html:show_contexts", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1207 cov.set_option("report:contexts", ["test_one"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1208 mod = self.start_import_stop(cov, "two_tests") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1209 d = self.html_data_from_cov(cov, mod) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1210 

+

1211 context_labels = [self.EMPTY, 'two_tests.test_one', 'two_tests.test_two'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1212 expected_lines: List[List[TLineNo]] = [[], self.TEST_ONE_LINES, []] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1213 for label, expected in zip(context_labels, expected_lines): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1214 actual = [ld.number for ld in d.lines if label in (ld.contexts or ())] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1215 assert sorted(expected) == sorted(actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1216 

+

1217 def test_no_contexts_warns_no_contexts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1218 # If no contexts were collected, then show_contexts emits a warning. 

+

1219 self.make_file("two_tests.py", self.SOURCE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1220 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1221 cov.set_option("html:show_contexts", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1222 self.start_import_stop(cov, "two_tests") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1223 with self.assert_warnings(cov, ["No contexts were measured"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1224 cov.html_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1225 

+

1226 def test_dynamic_contexts_relative_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1227 self.make_file("two_tests.py", self.SOURCE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1228 self.make_file("config", "[run]\nrelative_files = True") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1229 cov = coverage.Coverage(source=["."], config_file="config") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1230 cov.set_option("run:dynamic_context", "test_function") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1231 cov.set_option("html:show_contexts", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1232 mod = self.start_import_stop(cov, "two_tests") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1233 d = self.html_data_from_cov(cov, mod) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1234 context_labels = [self.EMPTY, 'two_tests.test_one', 'two_tests.test_two'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1235 expected_lines = [self.OUTER_LINES, self.TEST_ONE_LINES, self.TEST_TWO_LINES] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1236 for label, expected in zip(context_labels, expected_lines): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1237 actual = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1238 ld.number for ld in d.lines 

+

1239 if label == ld.contexts_label or label in (ld.contexts or ()) 

+

1240 ] 

+

1241 assert sorted(expected) == sorted(actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1242 

+

1243 

+

1244class HtmlHelpersTest(HtmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1245 """Tests of the helpers in HtmlTestHelpers.""" 

+

1246 

+

1247 def test_bad_link(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1248 # Does assert_valid_hrefs detect links to non-existent files? 

+

1249 self.make_file("htmlcov/index.html", "<a href='nothing.html'>Nothing</a>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1250 msg = "These files link to 'nothing.html', which doesn't exist: htmlcov.index.html" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1251 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1252 self.assert_valid_hrefs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1253 

+

1254 def test_bad_anchor(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1255 # Does assert_valid_hrefs detect fragments that go nowhere? 

+

1256 self.make_file("htmlcov/index.html", "<a href='#nothing'>Nothing</a>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1257 msg = "Fragment '#nothing' in htmlcov.index.html has no anchor" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1258 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1259 self.assert_valid_hrefs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_json_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_json_py.html new file mode 100644 index 000000000..8d39d4590 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_json_py.html @@ -0,0 +1,305 @@ + + + + + Coverage for tests/test_json.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_json.py: + 100.000% +

+ +

+ 37 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Test json-based summary reporting for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import json 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11from datetime import datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12from typing import Any, Dict 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage import Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from tests.coveragetest import UsingModulesMixin, CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19 

+

20class JsonReportTest(UsingModulesMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 """Tests of the JSON reports from coverage.py.""" 

+

22 

+

23 def _assert_expected_json_report( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 self, 

+

25 cov: Coverage, 

+

26 expected_result: Dict[str, Any], 

+

27 ) -> None: 

+

28 """ 

+

29 Helper for tests that handles the common ceremony so the tests can be clearly show the 

+

30 consequences of setting various arguments. 

+

31 """ 

+

32 self.make_file("a.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 a = {'b': 1} 

+

34 if a.get('a'): 

+

35 b = 1 

+

36 elif a.get('b'): 

+

37 b = 2 

+

38 else: 

+

39 b = 3 

+

40 if not a: 

+

41 b = 4 

+

42 """) 

+

43 a = self.start_import_stop(cov, "a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 output_path = os.path.join(self.temp_dir, "a.json") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 cov.json_report(a, outfile=output_path) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 with open(output_path) as result_file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 parsed_result = json.load(result_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 self.assert_recent_datetime( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 datetime.strptime(parsed_result['meta']['timestamp'], "%Y-%m-%dT%H:%M:%S.%f") 

+

50 ) 

+

51 del (parsed_result['meta']['timestamp']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 assert parsed_result == expected_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 

+

54 def test_branch_coverage(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 expected_result = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 'meta': { 

+

58 "version": coverage.__version__, 

+

59 "branch_coverage": True, 

+

60 "show_contexts": False, 

+

61 }, 

+

62 'files': { 

+

63 'a.py': { 

+

64 'executed_lines': [1, 2, 4, 5, 8], 

+

65 'missing_lines': [3, 7, 9], 

+

66 'excluded_lines': [], 

+

67 'executed_branches': [ 

+

68 [2, 4], 

+

69 [4, 5], 

+

70 [8, -1], 

+

71 ], 

+

72 'missing_branches': [ 

+

73 [2, 3], 

+

74 [4, 7], 

+

75 [8, 9], 

+

76 ], 

+

77 'summary': { 

+

78 'missing_lines': 3, 

+

79 'covered_lines': 5, 

+

80 'num_statements': 8, 

+

81 'num_branches': 6, 

+

82 'excluded_lines': 0, 

+

83 'num_partial_branches': 3, 

+

84 'covered_branches': 3, 

+

85 'missing_branches': 3, 

+

86 'percent_covered': 57.142857142857146, 

+

87 'percent_covered_display': '57', 

+

88 }, 

+

89 }, 

+

90 }, 

+

91 'totals': { 

+

92 'missing_lines': 3, 

+

93 'covered_lines': 5, 

+

94 'num_statements': 8, 

+

95 'num_branches': 6, 

+

96 'excluded_lines': 0, 

+

97 'num_partial_branches': 3, 

+

98 'percent_covered': 57.142857142857146, 

+

99 'percent_covered_display': '57', 

+

100 'covered_branches': 3, 

+

101 'missing_branches': 3, 

+

102 }, 

+

103 } 

+

104 self._assert_expected_json_report(cov, expected_result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 

+

106 def test_simple_line_coverage(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 expected_result = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 'meta': { 

+

110 "version": coverage.__version__, 

+

111 "branch_coverage": False, 

+

112 "show_contexts": False, 

+

113 }, 

+

114 'files': { 

+

115 'a.py': { 

+

116 'executed_lines': [1, 2, 4, 5, 8], 

+

117 'missing_lines': [3, 7, 9], 

+

118 'excluded_lines': [], 

+

119 'summary': { 

+

120 'excluded_lines': 0, 

+

121 'missing_lines': 3, 

+

122 'covered_lines': 5, 

+

123 'num_statements': 8, 

+

124 'percent_covered': 62.5, 

+

125 'percent_covered_display': '62', 

+

126 }, 

+

127 }, 

+

128 }, 

+

129 'totals': { 

+

130 'excluded_lines': 0, 

+

131 'missing_lines': 3, 

+

132 'covered_lines': 5, 

+

133 'num_statements': 8, 

+

134 'percent_covered': 62.5, 

+

135 'percent_covered_display': '62', 

+

136 }, 

+

137 } 

+

138 self._assert_expected_json_report(cov, expected_result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 

+

140 def run_context_test(self, relative_files: bool) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 """A helper for two tests below.""" 

+

142 self.make_file("config", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 [run] 

+

144 relative_files = {} 

+

145 

+

146 [report] 

+

147 precision = 2 

+

148 

+

149 [json] 

+

150 show_contexts = True 

+

151 """.format(relative_files)) 

+

152 cov = coverage.Coverage(context="cool_test", config_file="config") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 expected_result = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 'meta': { 

+

155 "version": coverage.__version__, 

+

156 "branch_coverage": False, 

+

157 "show_contexts": True, 

+

158 }, 

+

159 'files': { 

+

160 'a.py': { 

+

161 'executed_lines': [1, 2, 4, 5, 8], 

+

162 'missing_lines': [3, 7, 9], 

+

163 'excluded_lines': [], 

+

164 "contexts": { 

+

165 "1": [ 

+

166 "cool_test" 

+

167 ], 

+

168 "2": [ 

+

169 "cool_test" 

+

170 ], 

+

171 "4": [ 

+

172 "cool_test" 

+

173 ], 

+

174 "5": [ 

+

175 "cool_test" 

+

176 ], 

+

177 "8": [ 

+

178 "cool_test" 

+

179 ], 

+

180 }, 

+

181 'summary': { 

+

182 'excluded_lines': 0, 

+

183 'missing_lines': 3, 

+

184 'covered_lines': 5, 

+

185 'num_statements': 8, 

+

186 'percent_covered': 62.5, 

+

187 'percent_covered_display': '62.50', 

+

188 }, 

+

189 }, 

+

190 }, 

+

191 'totals': { 

+

192 'excluded_lines': 0, 

+

193 'missing_lines': 3, 

+

194 'covered_lines': 5, 

+

195 'num_statements': 8, 

+

196 'percent_covered': 62.5, 

+

197 'percent_covered_display': '62.50', 

+

198 }, 

+

199 } 

+

200 self._assert_expected_json_report(cov, expected_result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 

+

202 def test_context_non_relative(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 self.run_context_test(relative_files=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 

+

205 def test_context_relative(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 self.run_context_test(relative_files=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_lcov_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_lcov_py.html new file mode 100644 index 000000000..d50cc7fd4 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_lcov_py.html @@ -0,0 +1,394 @@ + + + + + Coverage for tests/test_lcov.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_lcov.py: + 100.000% +

+ +

+ 83 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Test LCOV-based summary reporting for coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import math 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16 

+

17class LcovTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 """Tests of the LCOV reports from coverage.py.""" 

+

19 

+

20 def create_initial_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 """ 

+

22 Helper for tests that handles the common ceremony so the tests can 

+

23 show the consequences of changes in the setup. 

+

24 """ 

+

25 self.make_file("main_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 #!/usr/bin/env python3 

+

27 

+

28 def cuboid_volume(l): 

+

29 return (l*l*l) 

+

30 

+

31 def IsItTrue(): 

+

32 return True 

+

33 """) 

+

34 

+

35 self.make_file("test_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 #!/usr/bin/env python3 

+

37 

+

38 from main_file import cuboid_volume 

+

39 import unittest 

+

40 

+

41 class TestCuboid(unittest.TestCase): 

+

42 def test_volume(self): 

+

43 self.assertAlmostEqual(cuboid_volume(2),8) 

+

44 self.assertAlmostEqual(cuboid_volume(1),1) 

+

45 self.assertAlmostEqual(cuboid_volume(0),0) 

+

46 self.assertAlmostEqual(cuboid_volume(5.5),166.375) 

+

47 """) 

+

48 

+

49 def get_lcov_report_content(self, filename: str = "coverage.lcov") -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 """Return the content of an LCOV report.""" 

+

51 with open(filename, "r") as file: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 return file.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 

+

54 def test_lone_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 """For a single file with a couple of functions, the lcov should cover 

+

56 the function definitions themselves, but not the returns.""" 

+

57 self.make_file("main_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 #!/usr/bin/env python3 

+

59 

+

60 def cuboid_volume(l): 

+

61 return (l*l*l) 

+

62 

+

63 def IsItTrue(): 

+

64 return True 

+

65 """) 

+

66 expected_result = textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 TN: 

+

68 SF:main_file.py 

+

69 DA:3,1,7URou3io0zReBkk69lEb/Q 

+

70 DA:6,1,ilhb4KUfytxtEuClijZPlQ 

+

71 DA:4,0,Xqj6H1iz/nsARMCAbE90ng 

+

72 DA:7,0,LWILTcvARcydjFFyo9qM0A 

+

73 LF:4 

+

74 LH:2 

+

75 end_of_record 

+

76 """) 

+

77 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 self.start_import_stop(cov, "main_file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 pct = cov.lcov_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 assert pct == 50.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 actual_result = self.get_lcov_report_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 assert expected_result == actual_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 

+

85 def test_simple_line_coverage_two_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 """Test that line coverage is created when coverage is run, 

+

87 and matches the output of the file below.""" 

+

88 self.create_initial_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 self.make_file(".coveragerc", "[lcov]\noutput = data.lcov\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 cov = coverage.Coverage(source=".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 self.start_import_stop(cov, "test_file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 pct = cov.lcov_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 assert pct == 50.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 self.assert_exists("data.lcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 expected_result = textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 TN: 

+

98 SF:main_file.py 

+

99 DA:3,1,7URou3io0zReBkk69lEb/Q 

+

100 DA:6,1,ilhb4KUfytxtEuClijZPlQ 

+

101 DA:4,0,Xqj6H1iz/nsARMCAbE90ng 

+

102 DA:7,0,LWILTcvARcydjFFyo9qM0A 

+

103 LF:4 

+

104 LH:2 

+

105 end_of_record 

+

106 TN: 

+

107 SF:test_file.py 

+

108 DA:3,1,R5Rb4IzmjKRgY/vFFc1TRg 

+

109 DA:4,1,E/tvV9JPVDhEcTCkgrwOFw 

+

110 DA:6,1,GP08LPBYJq8EzYveHJy2qA 

+

111 DA:7,1,MV+jSLi6PFEl+WatEAptog 

+

112 DA:8,0,qyqd1mF289dg6oQAQHA+gQ 

+

113 DA:9,0,nmEYd5F1KrxemgC9iVjlqg 

+

114 DA:10,0,jodMK26WYDizOO1C7ekBbg 

+

115 DA:11,0,LtxfKehkX8o4KvC5GnN52g 

+

116 LF:8 

+

117 LH:4 

+

118 end_of_record 

+

119 """) 

+

120 actual_result = self.get_lcov_report_content(filename="data.lcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 assert expected_result == actual_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 

+

123 def test_branch_coverage_one_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 """Test that the reporter produces valid branch coverage.""" 

+

125 self.make_file("main_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 #!/usr/bin/env python3 

+

127 

+

128 def is_it_x(x): 

+

129 if x == 3: 

+

130 return x 

+

131 else: 

+

132 return False 

+

133 """) 

+

134 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 cov = coverage.Coverage(branch=True, source=".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 self.start_import_stop(cov, "main_file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 pct = cov.lcov_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 assert math.isclose(pct, 16.666666666666668) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 self.assert_exists("coverage.lcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 expected_result = textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 TN: 

+

142 SF:main_file.py 

+

143 DA:3,1,4MDXMbvwQ3L7va1tsphVzw 

+

144 DA:4,0,MuERA6EYyZNpKPqoJfzwkA 

+

145 DA:5,0,sAyiiE6iAuPMte9kyd0+3g 

+

146 DA:7,0,W/g8GJDAYJkSSurt59Mzfw 

+

147 LF:4 

+

148 LH:1 

+

149 BRDA:5,0,0,- 

+

150 BRDA:7,0,1,- 

+

151 BRF:2 

+

152 BRH:0 

+

153 end_of_record 

+

154 """) 

+

155 actual_result = self.get_lcov_report_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 assert expected_result == actual_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 

+

158 def test_branch_coverage_two_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 """Test that valid branch coverage is generated 

+

160 in the case of two files.""" 

+

161 self.make_file("main_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 #!/usr/bin/env python3 

+

163 

+

164 def is_it_x(x): 

+

165 if x == 3: 

+

166 return x 

+

167 else: 

+

168 return False 

+

169 """) 

+

170 

+

171 self.make_file("test_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 #!/usr/bin/env python3 

+

173 

+

174 from main_file import * 

+

175 import unittest 

+

176 

+

177 class TestIsItX(unittest.TestCase): 

+

178 def test_is_it_x(self): 

+

179 self.assertEqual(is_it_x(3), 3) 

+

180 self.assertEqual(is_it_x(4), False) 

+

181 """) 

+

182 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 cov = coverage.Coverage(branch=True, source=".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 self.start_import_stop(cov, "test_file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 pct = cov.lcov_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 assert math.isclose(pct, 41.666666666666664) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 self.assert_exists("coverage.lcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 expected_result = textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 TN: 

+

190 SF:main_file.py 

+

191 DA:3,1,4MDXMbvwQ3L7va1tsphVzw 

+

192 DA:4,0,MuERA6EYyZNpKPqoJfzwkA 

+

193 DA:5,0,sAyiiE6iAuPMte9kyd0+3g 

+

194 DA:7,0,W/g8GJDAYJkSSurt59Mzfw 

+

195 LF:4 

+

196 LH:1 

+

197 BRDA:5,0,0,- 

+

198 BRDA:7,0,1,- 

+

199 BRF:2 

+

200 BRH:0 

+

201 end_of_record 

+

202 TN: 

+

203 SF:test_file.py 

+

204 DA:3,1,9TxKIyoBtmhopmlbDNa8FQ 

+

205 DA:4,1,E/tvV9JPVDhEcTCkgrwOFw 

+

206 DA:6,1,C3s/c8C1Yd/zoNG1GnGexg 

+

207 DA:7,1,9qPyWexYysgeKtB+YvuzAg 

+

208 DA:8,0,LycuNcdqoUhPXeuXUTf5lA 

+

209 DA:9,0,FPTWzd68bDx76HN7VHu1wA 

+

210 LF:6 

+

211 LH:4 

+

212 BRF:0 

+

213 BRH:0 

+

214 end_of_record 

+

215 """) 

+

216 actual_result = self.get_lcov_report_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 assert actual_result == expected_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 

+

219 def test_half_covered_branch(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 """Test that for a given branch that is only half covered, 

+

221 the block numbers remain the same, and produces valid lcov. 

+

222 """ 

+

223 self.make_file("main_file.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 something = True 

+

225 

+

226 if something: 

+

227 print("Yes, something") 

+

228 else: 

+

229 print("No, nothing") 

+

230 """) 

+

231 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 cov = coverage.Coverage(branch=True, source=".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 self.start_import_stop(cov, "main_file") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 pct = cov.lcov_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 assert math.isclose(pct, 66.66666666666667) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 self.assert_exists("coverage.lcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 expected_result = textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 TN: 

+

239 SF:main_file.py 

+

240 DA:1,1,N4kbVOlkNI1rqOfCArBClw 

+

241 DA:3,1,CmlqqPf0/H+R/p7/PLEXZw 

+

242 DA:4,1,rE3mWnpoMq2W2sMETVk/uQ 

+

243 DA:6,0,+Aov7ekIts7C96udNDVIIQ 

+

244 LF:4 

+

245 LH:3 

+

246 BRDA:6,0,0,- 

+

247 BRDA:4,0,1,1 

+

248 BRF:2 

+

249 BRH:1 

+

250 end_of_record 

+

251 """) 

+

252 actual_result = self.get_lcov_report_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 assert actual_result == expected_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 

+

255 def test_empty_init_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 """Test that in the case of an empty __init__.py file, the lcov 

+

257 reporter will note that the file is there, and will note the empty 

+

258 line. It will also note the lack of branches, and the checksum for 

+

259 the line. 

+

260 

+

261 Although there are no lines found, it will note one line as hit in 

+

262 old Pythons, and no lines hit in newer Pythons. 

+

263 """ 

+

264 

+

265 self.make_file("__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 cov = coverage.Coverage(branch=True, source=".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 self.start_import_stop(cov, "__init__") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 pct = cov.lcov_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 assert pct == 0.0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 self.assert_exists("coverage.lcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 # Newer Pythons have truly empty empty files. 

+

273 if env.PYBEHAVIOR.empty_is_empty: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 expected_result = textwrap.dedent("""\ 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

275 TN: 

+

276 SF:__init__.py 

+

277 LF:0 

+

278 LH:0 

+

279 BRF:0 

+

280 BRH:0 

+

281 end_of_record 

+

282 """) 

+

283 else: 

+

284 expected_result = textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 TN: 

+

286 SF:__init__.py 

+

287 DA:1,1,1B2M2Y8AsgTpgAmY7PhCfg 

+

288 LF:0 

+

289 LH:1 

+

290 BRF:0 

+

291 BRH:0 

+

292 end_of_record 

+

293 """) 

+

294 actual_result = self.get_lcov_report_content() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 assert actual_result == expected_result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_misc_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_misc_py.html new file mode 100644 index 000000000..b98a45ad8 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_misc_py.html @@ -0,0 +1,254 @@ + + + + + Coverage for tests/test_misc.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_misc.py: + 100.000% +

+ +

+ 86 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests of miscellaneous stuff.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from coverage.exceptions import CoverageException 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from coverage.misc import file_be_gone 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.misc import Hasher, substitute_variables, import_third_party 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.misc import human_sorted, human_sorted_items 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19 

+

20class HasherTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 """Test our wrapper of fingerprint hashing.""" 

+

22 

+

23 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25 def test_string_hashing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 h1 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 h1.update("Hello, world!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 h2 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 h2.update("Goodbye!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 h3 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 h3.update("Hello, world!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 assert h1.hexdigest() != h2.hexdigest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 assert h1.hexdigest() == h3.hexdigest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 def test_bytes_hashing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 h1 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 h1.update(b"Hello, world!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 h2 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 h2.update(b"Goodbye!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 assert h1.hexdigest() != h2.hexdigest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 

+

42 def test_unicode_hashing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 h1 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 h1.update("Hello, world! \N{SNOWMAN}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 h2 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 h2.update("Goodbye!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 assert h1.hexdigest() != h2.hexdigest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 

+

49 def test_dict_hashing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 h1 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 h1.update({'a': 17, 'b': 23}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 h2 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 h2.update({'b': 23, 'a': 17}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 assert h1.hexdigest() == h2.hexdigest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 def test_dict_collision(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 h1 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 h1.update({'a': 17, 'b': {'c': 1, 'd': 2}}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 h2 = Hasher() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 h2.update({'a': 17, 'b': {'c': 1}, 'd': 2}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 assert h1.hexdigest() != h2.hexdigest() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 

+

63 

+

64class RemoveFileTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 """Tests of misc.file_be_gone.""" 

+

66 

+

67 def test_remove_nonexistent_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 # It's OK to try to remove a file that doesn't exist. 

+

69 file_be_gone("not_here.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 

+

71 def test_remove_actual_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 # It really does remove a file that does exist. 

+

73 self.make_file("here.txt", "We are here, we are here, we are here!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 file_be_gone("here.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 self.assert_doesnt_exist("here.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 

+

77 def test_actual_errors(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 # Errors can still happen. 

+

79 # ". is a directory" on Unix, or "Access denied" on Windows 

+

80 with pytest.raises(OSError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 file_be_gone(".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 

+

83 

+

84VARS = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 'FOO': 'fooey', 

+

86 'BAR': 'xyzzy', 

+

87} 

+

88 

+

89@pytest.mark.parametrize("before, after", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 ("Nothing to do", "Nothing to do"), 

+

91 ("Dollar: $$", "Dollar: $"), 

+

92 ("Simple: $FOO is fooey", "Simple: fooey is fooey"), 

+

93 ("Braced: X${FOO}X.", "Braced: XfooeyX."), 

+

94 ("Missing: x${NOTHING}y is xy", "Missing: xy is xy"), 

+

95 ("Multiple: $$ $FOO $BAR ${FOO}", "Multiple: $ fooey xyzzy fooey"), 

+

96 ("Ill-formed: ${%5} ${{HI}} ${", "Ill-formed: ${%5} ${{HI}} ${"), 

+

97 ("Strict: ${FOO?} is there", "Strict: fooey is there"), 

+

98 ("Defaulted: ${WUT-missing}!", "Defaulted: missing!"), 

+

99 ("Defaulted empty: ${WUT-}!", "Defaulted empty: !"), 

+

100]) 

+

101def test_substitute_variables(before: str, after: str) -> None: 

+

102 assert substitute_variables(before, VARS) == after 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 

+

104@pytest.mark.parametrize("text", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 "Strict: ${NOTHING?} is an error", 

+

106]) 

+

107def test_substitute_variables_errors(text: str) -> None: 

+

108 with pytest.raises(CoverageException) as exc_info: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 substitute_variables(text, VARS) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 assert text in str(exc_info.value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 assert "Variable NOTHING is undefined" in str(exc_info.value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 

+

113 

+

114class ImportThirdPartyTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 """Test import_third_party.""" 

+

116 

+

117 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 

+

119 def test_success(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 # Make sure we don't have pytest in sys.modules before we start. 

+

121 del sys.modules["pytest"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 # Import pytest 

+

123 mod, has = import_third_party("pytest") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 assert has 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 # Yes, it's really pytest: 

+

126 assert mod.__name__ == "pytest" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 print(dir(mod)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 assert all(hasattr(mod, name) for name in ["skip", "mark", "raises", "warns"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 # But it's not in sys.modules: 

+

130 assert "pytest" not in sys.modules 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 

+

132 def test_failure(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 _, has = import_third_party("xyzzy") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 assert not has 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 assert "xyzzy" not in sys.modules 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 

+

137 

+

138HUMAN_DATA = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 ("z1 a2z a2a a3 a1", "a1 a2a a2z a3 z1"), 

+

140 ("a10 a9 a100 a1", "a1 a9 a10 a100"), 

+

141 ("4.0 3.10-win 3.10-mac 3.9-mac 3.9-win", "3.9-mac 3.9-win 3.10-mac 3.10-win 4.0"), 

+

142] 

+

143 

+

144@pytest.mark.parametrize("words, ordered", HUMAN_DATA) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145def test_human_sorted(words: str, ordered: str) -> None: 

+

146 assert " ".join(human_sorted(words.split())) == ordered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148@pytest.mark.parametrize("words, ordered", HUMAN_DATA) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149def test_human_sorted_items(words: str, ordered: str) -> None: 

+

150 keys = words.split() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 items = [(k, 1) for k in keys] + [(k, 2) for k in keys] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 okeys = ordered.split() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 oitems = [(k, v) for k in okeys for v in [1, 2]] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 assert human_sorted_items(items) == oitems 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 assert human_sorted_items(items, reverse=True) == oitems[::-1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_mixins_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_mixins_py.html new file mode 100644 index 000000000..1280e5961 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_mixins_py.html @@ -0,0 +1,181 @@ + + + + + Coverage for tests/test_mixins.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_mixins.py: + 100.000% +

+ +

+ 50 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests of code in tests/mixins.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from coverage.misc import import_local_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from tests.mixins import TempDirMixin, RestoreModulesMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14 

+

15class TempDirMixinTest(TempDirMixin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 """Test the methods in TempDirMixin.""" 

+

17 

+

18 def file_text(self, fname: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 """Return the text read from a file.""" 

+

20 with open(fname, "rb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 return f.read().decode('ascii') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 

+

23 def test_make_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 # A simple file. 

+

25 self.make_file("fooey.boo", "Hello there") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 assert self.file_text("fooey.boo") == "Hello there" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 # A file in a sub-directory 

+

28 self.make_file("sub/another.txt", "Another") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 assert self.file_text("sub/another.txt") == "Another" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 # A second file in that sub-directory 

+

31 self.make_file("sub/second.txt", "Second") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 assert self.file_text("sub/second.txt") == "Second" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 # A deeper directory 

+

34 self.make_file("sub/deeper/evenmore/third.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 assert self.file_text("sub/deeper/evenmore/third.txt") == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 # Dedenting 

+

37 self.make_file("dedented.txt", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 Hello 

+

39 Bye 

+

40 """) 

+

41 assert self.file_text("dedented.txt") == "Hello\nBye\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 

+

43 def test_make_file_newline(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 self.make_file("unix.txt", "Hello\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 assert self.file_text("unix.txt") == "Hello\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 self.make_file("dos.txt", "Hello\n", newline="\r\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 assert self.file_text("dos.txt") == "Hello\r\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 self.make_file("mac.txt", "Hello\n", newline="\r") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 assert self.file_text("mac.txt") == "Hello\r" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 

+

51 def test_make_file_non_ascii(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 self.make_file("unicode.txt", "tablo: «ταБℓσ»") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 with open("unicode.txt", "rb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 text = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 assert text == b"tablo: \xc2\xab\xcf\x84\xce\xb1\xd0\x91\xe2\x84\x93\xcf\x83\xc2\xbb" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 

+

57 def test_make_bytes_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 self.make_file("binary.dat", bytes=b"\x99\x33\x66hello\0") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 with open("binary.dat", "rb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 data = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 assert data == b"\x99\x33\x66hello\0" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 

+

63 

+

64class RestoreModulessMixinTest(TempDirMixin, RestoreModulesMixin): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 """Tests of SysPathModulesMixin.""" 

+

66 

+

67 @pytest.mark.parametrize("val", [17, 42]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 def test_module_independence(self, val: int) -> None: 

+

69 self.make_file("xyzzy.py", f"A = {val}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 import xyzzy # pylint: disable=import-error 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 assert xyzzy.A == val 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 

+

73 def test_cleanup_and_reimport(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 self.make_file("xyzzy.py", "A = 17") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 xyzzy = import_local_file("xyzzy") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 assert xyzzy.A == 17 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78 self.clean_local_file_imports() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 

+

80 self.make_file("xyzzy.py", "A = 42") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 xyzzy = import_local_file("xyzzy") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 assert xyzzy.A == 42 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_numbits_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_numbits_py.html new file mode 100644 index 000000000..dc6ec517c --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_numbits_py.html @@ -0,0 +1,265 @@ + + + + + Coverage for tests/test_numbits.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_numbits.py: + 100.000% +

+ +

+ 94 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.numbits""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import json 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import sqlite3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11from typing import Iterable, Set 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from hypothesis import example, given, settings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from hypothesis.strategies import sets, integers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.numbits import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 nums_to_numbits, numbits_to_nums, numbits_union, numbits_intersection, 

+

19 numbits_any_intersection, num_in_numbits, register_sqlite_functions, 

+

20) 

+

21 

+

22from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24# Hypothesis-generated line number data 

+

25line_numbers = integers(min_value=1, max_value=9999) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26line_number_sets = sets(line_numbers) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28# When coverage-testing ourselves, hypothesis complains about a test being 

+

29# flaky because the first run exceeds the deadline (and fails), and the second 

+

30# run succeeds. Disable the deadline if we are coverage-testing. 

+

31default_settings = settings() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32if env.METACOV: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 default_settings = settings(default_settings, deadline=None) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 

+

36def good_numbits(numbits: bytes) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 """Assert that numbits is good.""" 

+

38 # It shouldn't end with a zero byte, that should have been trimmed off. 

+

39 assert (not numbits) or (numbits[-1] != 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 

+

41 

+

42class NumbitsOpTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 """Tests of the numbits operations in numbits.py.""" 

+

44 

+

45 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 

+

47 @given(line_number_sets) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 @settings(default_settings) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 def test_conversion(self, nums: Iterable[int]) -> None: 

+

50 numbits = nums_to_numbits(nums) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 good_numbits(numbits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 nums2 = numbits_to_nums(numbits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 assert nums == set(nums2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 

+

55 @given(line_number_sets, line_number_sets) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 @settings(default_settings) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 def test_union(self, nums1: Set[int], nums2: Set[int]) -> None: 

+

58 nb1 = nums_to_numbits(nums1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 good_numbits(nb1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 nb2 = nums_to_numbits(nums2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 good_numbits(nb2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 nbu = numbits_union(nb1, nb2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 good_numbits(nbu) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 union = numbits_to_nums(nbu) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 assert nums1 | nums2 == set(union) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 

+

67 @given(line_number_sets, line_number_sets) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 @settings(default_settings) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 def test_intersection(self, nums1: Set[int], nums2: Set[int]) -> None: 

+

70 nb1 = nums_to_numbits(nums1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 good_numbits(nb1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 nb2 = nums_to_numbits(nums2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 good_numbits(nb2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 nbi = numbits_intersection(nb1, nb2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 good_numbits(nbi) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 intersection = numbits_to_nums(nbi) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 assert nums1 & nums2 == set(intersection) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 

+

79 @given(line_number_sets, line_number_sets) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 @settings(default_settings) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 def test_any_intersection(self, nums1: Set[int], nums2: Set[int]) -> None: 

+

82 nb1 = nums_to_numbits(nums1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 good_numbits(nb1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 nb2 = nums_to_numbits(nums2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 good_numbits(nb2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 inter = numbits_any_intersection(nb1, nb2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 expect = bool(nums1 & nums2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 assert expect == bool(inter) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 

+

90 @given(line_numbers, line_number_sets) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 @settings(default_settings) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 @example(152, {144}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 def test_num_in_numbits(self, num: int, nums: Iterable[int]) -> None: 

+

94 numbits = nums_to_numbits(nums) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 good_numbits(numbits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 is_in = num_in_numbits(num, numbits) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 assert (num in nums) == is_in 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 

+

99 

+

100class NumbitsSqliteFunctionTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 """Tests of the SQLite integration for numbits functions.""" 

+

102 

+

103 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 

+

105 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 conn = sqlite3.connect(":memory:") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 register_sqlite_functions(conn) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 self.cursor = conn.cursor() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 self.cursor.execute("create table data (id int, numbits blob)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 self.cursor.executemany( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 "insert into data (id, numbits) values (?, ?)", 

+

113 [ 

+

114 (i, nums_to_numbits(range(i, 100, i))) 

+

115 for i in range(1, 11) 

+

116 ] 

+

117 ) 

+

118 self.addCleanup(self.cursor.close) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 

+

120 def test_numbits_union(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 res = self.cursor.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 "select numbits_union(" + 

+

123 "(select numbits from data where id = 7)," + 

+

124 "(select numbits from data where id = 9)" + 

+

125 ")" 

+

126 ) 

+

127 expected = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 7, 9, 14, 18, 21, 27, 28, 35, 36, 42, 45, 49, 

+

129 54, 56, 63, 70, 72, 77, 81, 84, 90, 91, 98, 99, 

+

130 ] 

+

131 answer = numbits_to_nums(list(res)[0][0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 assert expected == answer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 

+

134 def test_numbits_intersection(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 res = self.cursor.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 "select numbits_intersection(" + 

+

137 "(select numbits from data where id = 7)," + 

+

138 "(select numbits from data where id = 9)" + 

+

139 ")" 

+

140 ) 

+

141 answer = numbits_to_nums(list(res)[0][0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 assert [63] == answer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 

+

144 def test_numbits_any_intersection(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 res = self.cursor.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 "select numbits_any_intersection(?, ?)", 

+

147 (nums_to_numbits([1, 2, 3]), nums_to_numbits([3, 4, 5])) 

+

148 ) 

+

149 answer = [any_inter for (any_inter,) in res] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 assert [1] == answer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 

+

152 res = self.cursor.execute( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 "select numbits_any_intersection(?, ?)", 

+

154 (nums_to_numbits([1, 2, 3]), nums_to_numbits([7, 8, 9])) 

+

155 ) 

+

156 answer = [any_inter for (any_inter,) in res] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 assert [0] == answer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 

+

159 def test_num_in_numbits(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 res = self.cursor.execute("select id, num_in_numbits(12, numbits) from data order by id") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 answer = [is_in for (id, is_in) in res] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 assert [1, 1, 1, 1, 0, 1, 0, 0, 0, 0] == answer 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 

+

164 def test_numbits_to_nums(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 res = self.cursor.execute("select numbits_to_nums(?)", [nums_to_numbits([1, 2, 3])]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 assert [1, 2, 3] == json.loads(res.fetchone()[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_oddball_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_oddball_py.html new file mode 100644 index 000000000..8b5a6e021 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_oddball_py.html @@ -0,0 +1,718 @@ + + + + + Coverage for tests/test_oddball.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_oddball.py: + 100.000% +

+ +

+ 147 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Oddball cases for testing coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from flaky import flaky 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.data import sorted_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.files import abs_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from coverage.misc import import_local_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from tests.helpers import swallow_warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from tests import osinfo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 

+

23 

+

24class ThreadingTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 """Tests of the threading support.""" 

+

26 

+

27 def test_threading(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 import threading 

+

30 

+

31 def fromMainThread(): 

+

32 return "called from main thread" 

+

33 

+

34 def fromOtherThread(): 

+

35 return "called from other thread" 

+

36 

+

37 def neverCalled(): 

+

38 return "no one calls me" 

+

39 

+

40 other = threading.Thread(target=fromOtherThread) 

+

41 other.start() 

+

42 fromMainThread() 

+

43 other.join() 

+

44 """, 

+

45 [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15], "10") 

+

46 

+

47 def test_thread_run(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 import threading 

+

50 

+

51 class TestThread(threading.Thread): 

+

52 def run(self): 

+

53 self.a = 5 

+

54 self.do_work() 

+

55 self.a = 7 

+

56 

+

57 def do_work(self): 

+

58 self.a = 10 

+

59 

+

60 thd = TestThread() 

+

61 thd.start() 

+

62 thd.join() 

+

63 """, 

+

64 [1, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14], "") 

+

65 

+

66 

+

67class RecursionTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 """Check what happens when recursive code gets near limits.""" 

+

69 

+

70 def test_short_recursion(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 # We can definitely get close to 500 stack frames. 

+

72 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 def recur(n): 

+

74 if n == 0: 

+

75 return 0 

+

76 else: 

+

77 return recur(n-1)+1 

+

78 

+

79 recur(495) # We can get at least this many stack frames. 

+

80 i = 8 # and this line will be traced 

+

81 """, 

+

82 [1, 2, 3, 5, 7, 8], "") 

+

83 

+

84 def test_long_recursion(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 # We can't finish a very deep recursion, but we don't crash. 

+

86 with pytest.raises(RuntimeError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 with swallow_warnings("Trace function changed, data is likely wrong: None"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 self.check_coverage("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 def recur(n): 

+

90 if n == 0: 

+

91 return 0 

+

92 else: 

+

93 return recur(n-1)+1 

+

94 

+

95 recur(100000) # This is definitely too many frames. 

+

96 """, 

+

97 [1, 2, 3, 5, 7], "" 

+

98 ) 

+

99 

+

100 def test_long_recursion_recovery(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 # Test the core of bug 93: https://github.com/nedbat/coveragepy/issues/93 

+

102 # When recovering from a stack overflow, the Python trace function is 

+

103 # disabled, but the C trace function is not. So if we're using a 

+

104 # Python trace function, we won't trace anything after the stack 

+

105 # overflow, and there should be a warning about it. If we're using 

+

106 # the C trace function, only line 3 will be missing, and all else 

+

107 # will be traced. 

+

108 

+

109 self.make_file("recur.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 def recur(n): 

+

111 if n == 0: 

+

112 return 0 # never hit 

+

113 else: 

+

114 return recur(n-1)+1 

+

115 

+

116 try: 

+

117 recur(100000) # This is definitely too many frames. 

+

118 except RuntimeError: 

+

119 i = 10 

+

120 i = 11 

+

121 """) 

+

122 

+

123 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 with swallow_warnings("Trace function changed, data is likely wrong: None"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 self.start_import_stop(cov, "recur") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 

+

127 assert cov._collector is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 pytrace = (cov._collector.tracer_name() == "PyTracer") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 expected_missing = [3] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 if pytrace: # pragma: no metacov 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 expected_missing += [9, 10, 11] 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 

+

133 _, statements, missing, _ = cov.analysis("recur.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 assert statements == [1, 2, 3, 5, 7, 8, 9, 10, 11] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 assert expected_missing == missing 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 

+

137 # Get a warning about the stackoverflow effect on the tracing function. 

+

138 if pytrace: # pragma: no metacov 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 assert len(cov._warnings) == 1 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 assert re.fullmatch( 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 r"Trace function changed, data is likely wrong: None != " + 

+

142 r"<bound method PyTracer._trace of " + 

+

143 "<PyTracer at 0x[0-9a-fA-F]+: 5 data points in 1 files>>", 

+

144 cov._warnings[0], 

+

145 ) 

+

146 else: 

+

147 assert not cov._warnings 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

148 

+

149 

+

150class MemoryLeakTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 """Attempt the impossible: test that memory doesn't leak. 

+

152 

+

153 Note: this test is truly unusual, and has had a colorful history. See 

+

154 for example: https://github.com/nedbat/coveragepy/issues/186 

+

155 

+

156 It may still fail occasionally, especially on PyPy. 

+

157 

+

158 """ 

+

159 @flaky # type: ignore[misc] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 @pytest.mark.skipif(not env.C_TRACER, reason="Only the C tracer has refcounting issues") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 def test_for_leaks(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 # Our original bad memory leak only happened on line numbers > 255, so 

+

163 # make a code object with more lines than that. Ugly string mumbo 

+

164 # jumbo to get 300 blank lines at the beginning.. 

+

165 code = """\ 3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

166 # blank line\n""" * 300 + """\ 

+

167 def once(x): # line 301 

+

168 if x % 100 == 0: 

+

169 raise Exception("100!") 

+

170 elif x % 2: 

+

171 return 10 

+

172 else: # line 306 

+

173 return 11 

+

174 i = 0 # Portable loop without alloc'ing memory. 

+

175 while i < ITERS: 

+

176 try: 

+

177 once(i) 

+

178 except: 

+

179 pass 

+

180 i += 1 # line 315 

+

181 """ 

+

182 lines = list(range(301, 315)) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

183 lines.remove(306) # Line 306 is the "else". 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

184 

+

185 # This is a non-deterministic test, so try it a few times, and fail it 

+

186 # only if it predominantly fails. 

+

187 fails = 0 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

188 for _ in range(10): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

189 ram_0 = osinfo.process_ram() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

190 self.check_coverage(code.replace("ITERS", "10"), lines, "") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

191 ram_10 = osinfo.process_ram() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

192 self.check_coverage(code.replace("ITERS", "10000"), lines, "") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

193 ram_10k = osinfo.process_ram() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

194 # Running the code 10k times shouldn't grow the ram much more than 

+

195 # running it 10 times. 

+

196 ram_growth = (ram_10k - ram_10) - (ram_10 - ram_0) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

197 if ram_growth > 100000: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

198 fails += 1 # pragma: only failure 3.7.ubuntu-latest.c

+

199 

+

200 if fails > 8: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

201 pytest.fail("RAM grew by %d" % (ram_growth)) # pragma: only failure 

+

202 

+

203 

+

204class MemoryFumblingTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 """Test that we properly manage the None refcount.""" 

+

206 

+

207 @pytest.mark.skipif(not env.C_TRACER, reason="Only the C tracer has refcounting issues") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 def test_dropping_none(self) -> None: # pragma: not covered 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 # TODO: Mark this so it will only be run sometimes. 

+

210 pytest.skip("This is too expensive for now (30s)") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

211 # Start and stop coverage thousands of times to flush out bad 

+

212 # reference counting, maybe. 

+

213 _ = "this is just here to put a type comment on" # type: ignore[unreachable] 

+

214 self.make_file("the_code.py", """\ 

+

215 import random 

+

216 def f(): 

+

217 if random.random() > .5: 

+

218 x = 1 

+

219 else: 

+

220 x = 2 

+

221 """) 

+

222 self.make_file("main.py", """\ 

+

223 import coverage 

+

224 import sys 

+

225 from the_code import f 

+

226 for i in range(10000): 

+

227 cov = coverage.Coverage(branch=True) 

+

228 cov.start() 

+

229 f() 

+

230 cov.stop() 

+

231 cov.erase() 

+

232 print("Final None refcount: %d" % (sys.getrefcount(None))) 

+

233 """) 

+

234 status, out = self.run_command_status("python main.py") 

+

235 assert status == 0 

+

236 assert "Final None refcount" in out 

+

237 assert "Fatal" not in out 

+

238 

+

239 

+

240class PyexpatTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 """Pyexpat screws up tracing. Make sure we've counter-defended properly.""" 

+

242 

+

243 def test_pyexpat(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 # pyexpat calls the trace function explicitly (inexplicably), and does 

+

245 # it wrong for exceptions. Parsing a DOCTYPE for some reason throws 

+

246 # an exception internally, and triggers its wrong behavior. This test 

+

247 # checks that our fake PyTrace_RETURN hack in tracer.c works. It will 

+

248 # also detect if the pyexpat bug is fixed unbeknownst to us, meaning 

+

249 # we'd see two RETURNs where there should only be one. 

+

250 

+

251 self.make_file("trydom.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 import xml.dom.minidom 

+

253 

+

254 XML = '''\\ 

+

255 <!DOCTYPE fooey SYSTEM "http://www.example.com/example.dtd"> 

+

256 <root><child/><child/></root> 

+

257 ''' 

+

258 

+

259 def foo(): 

+

260 dom = xml.dom.minidom.parseString(XML) 

+

261 assert len(dom.getElementsByTagName('child')) == 2 

+

262 a = 11 

+

263 

+

264 foo() 

+

265 """) 

+

266 

+

267 self.make_file("outer.py", "\n"*100 + "import trydom\na = 102\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 

+

269 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 cov.erase() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 # Import the Python file, executing it. 

+

273 self.start_import_stop(cov, "outer") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 

+

275 _, statements, missing, _ = cov.analysis("trydom.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 assert statements == [1, 3, 8, 9, 10, 11, 13] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 assert missing == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 

+

279 _, statements, missing, _ = cov.analysis("outer.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 assert statements == [101, 102] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 assert missing == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 

+

283 # Make sure pyexpat isn't recorded as a source file. 

+

284 # https://github.com/nedbat/coveragepy/issues/419 

+

285 files = cov.get_data().measured_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 msg = f"Pyexpat.c is in the measured files!: {files!r}:" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 assert not any(f.endswith("pyexpat.c") for f in files), msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 

+

289 

+

290class ExceptionTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 """I suspect different versions of Python deal with exceptions differently 

+

292 in the trace function. 

+

293 """ 

+

294 

+

295 def test_exception(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 # Python 2.3's trace function doesn't get called with "return" if the 

+

297 # scope is exiting due to an exception. This confounds our trace 

+

298 # function which relies on scope announcements to track which files to 

+

299 # trace. 

+

300 # 

+

301 # This test is designed to sniff this out. Each function in the call 

+

302 # stack is in a different file, to try to trip up the tracer. Each 

+

303 # file has active lines in a different range so we'll see if the lines 

+

304 # get attributed to the wrong file. 

+

305 

+

306 self.make_file("oops.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 def oops(args): 

+

308 a = 2 

+

309 raise Exception("oops") 

+

310 a = 4 

+

311 """) 

+

312 

+

313 self.make_file("fly.py", "\n"*100 + """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 def fly(calls): 

+

315 a = 2 

+

316 calls[0](calls[1:]) 

+

317 a = 4 

+

318 """) 

+

319 

+

320 self.make_file("catch.py", "\n"*200 + """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 def catch(calls): 

+

322 try: 

+

323 a = 3 

+

324 calls[0](calls[1:]) 

+

325 a = 5 

+

326 except: 

+

327 a = 7 

+

328 """) 

+

329 

+

330 self.make_file("doit.py", "\n"*300 + """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 def doit(calls): 

+

332 try: 

+

333 calls[0](calls[1:]) 

+

334 except: 

+

335 a = 5 

+

336 """) 

+

337 

+

338 # Import all the modules before starting coverage, so the def lines 

+

339 # won't be in all the results. 

+

340 for mod in "oops fly catch doit".split(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 import_local_file(mod) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 

+

343 # Each run nests the functions differently to get different 

+

344 # combinations of catching exceptions and letting them fly. 

+

345 runs = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 ("doit fly oops", { 

+

347 'doit.py': [302, 303, 304, 305], 

+

348 'fly.py': [102, 103], 

+

349 'oops.py': [2, 3], 

+

350 }), 

+

351 ("doit catch oops", { 

+

352 'doit.py': [302, 303], 

+

353 'catch.py': [202, 203, 204, 206, 207], 

+

354 'oops.py': [2, 3], 

+

355 }), 

+

356 ("doit fly catch oops", { 

+

357 'doit.py': [302, 303], 

+

358 'fly.py': [102, 103, 104], 

+

359 'catch.py': [202, 203, 204, 206, 207], 

+

360 'oops.py': [2, 3], 

+

361 }), 

+

362 ("doit catch fly oops", { 

+

363 'doit.py': [302, 303], 

+

364 'catch.py': [202, 203, 204, 206, 207], 

+

365 'fly.py': [102, 103], 

+

366 'oops.py': [2, 3], 

+

367 }), 

+

368 ] 

+

369 

+

370 for callnames, lines_expected in runs: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

371 

+

372 # Make the list of functions we'll call for this test. 

+

373 callnames_list = callnames.split() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 calls = [getattr(sys.modules[cn], cn) for cn in callnames_list] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 

+

376 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 # Call our list of functions: invoke the first, with the rest as 

+

379 # an argument. 

+

380 calls[0](calls[1:]) # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 

+

383 # Clean the line data and compare to expected results. 

+

384 # The file names are absolute, so keep just the base. 

+

385 clean_lines = {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 for callname in callnames_list: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 filename = callname + ".py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 clean_lines[filename] = sorted_lines(data, abs_file(filename)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 

+

391 assert clean_lines == lines_expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

392 

+

393 

+

394class DoctestTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

395 """Tests invoked with doctest should measure properly.""" 

+

396 

+

397 def test_doctest(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 # Doctests used to be traced, with their line numbers credited to the 

+

399 # file they were in. Below, one of the doctests has four lines (1-4), 

+

400 # which would incorrectly claim that lines 1-4 of the file were 

+

401 # executed. In this file, line 2 is not executed. 

+

402 self.make_file("the_doctest.py", '''\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 if "x" in "abc": 

+

404 print("hello") 

+

405 def return_arg_or_void(arg): 

+

406 """If <arg> is None, return "Void"; otherwise return <arg> 

+

407 

+

408 >>> return_arg_or_void(None) 

+

409 'Void' 

+

410 >>> return_arg_or_void("arg") 

+

411 'arg' 

+

412 >>> return_arg_or_void("None") 

+

413 'None' 

+

414 >>> if "x" in "xyz": # line 1 

+

415 ... if "a" in "aswed": # line 2 

+

416 ... if "a" in "abc": # line 3 

+

417 ... return_arg_or_void(12) # line 4 

+

418 12 

+

419 """ 

+

420 if arg is None: 

+

421 return "Void" 

+

422 else: 

+

423 return arg 

+

424 

+

425 import doctest, sys 

+

426 doctest.testmod(sys.modules[__name__]) # we're not __main__ :( 

+

427 ''') 

+

428 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 self.start_import_stop(cov, "the_doctest") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 assert len(data.measured_files()) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 lines = sorted_lines(data, data.measured_files().pop()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 assert lines == [1, 3, 18, 19, 21, 23, 24] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

434 

+

435 

+

436class GettraceTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 """Tests that we work properly with `sys.gettrace()`.""" 

+

438 def test_round_trip_in_untraced_function(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

439 # https://github.com/nedbat/coveragepy/issues/575 

+

440 self.make_file("main.py", """import sample""") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

441 self.make_file("sample.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 from swap import swap_it 

+

443 def doit(): 

+

444 print(3) 

+

445 swap_it() 

+

446 print(5) 

+

447 def doit_soon(): 

+

448 print(7) 

+

449 doit() 

+

450 print(9) 

+

451 print(10) 

+

452 doit_soon() 

+

453 print(12) 

+

454 """) 

+

455 self.make_file("swap.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

456 import sys 

+

457 def swap_it(): 

+

458 sys.settrace(sys.gettrace()) 

+

459 """) 

+

460 

+

461 # Use --source=sample to prevent measurement of swap.py. 

+

462 cov = coverage.Coverage(source=["sample"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

464 

+

465 assert self.stdout() == "10\n7\n3\n5\n9\n12\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 

+

467 _, statements, missing, _ = cov.analysis("sample.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 assert statements == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 assert missing == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 

+

471 def test_setting_new_trace_function(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

472 # https://github.com/nedbat/coveragepy/issues/436 

+

473 self.check_coverage('''\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 import os.path 

+

475 import sys 

+

476 

+

477 def tracer(frame, event, arg): 

+

478 filename = os.path.basename(frame.f_code.co_filename) 

+

479 print(f"{event}: {filename} @ {frame.f_lineno}") 

+

480 return tracer 

+

481 

+

482 def begin(): 

+

483 sys.settrace(tracer) 

+

484 

+

485 def collect(): 

+

486 t = sys.gettrace() 

+

487 assert t is tracer, t 

+

488 

+

489 def test_unsets_trace() -> None: 

+

490 begin() 

+

491 collect() 

+

492 

+

493 old = sys.gettrace() 

+

494 test_unsets_trace() 

+

495 sys.settrace(old) 

+

496 a = 21 

+

497 b = 22 

+

498 ''', 

+

499 lines=[1, 2, 4, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23, 24], 

+

500 missing="5-7, 13-14", 

+

501 ) 

+

502 

+

503 assert self.last_module_name is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 out = self.stdout().replace(self.last_module_name, "coverage_test") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 "call: coverage_test.py @ 12\n" + 

+

507 "line: coverage_test.py @ 13\n" + 

+

508 "line: coverage_test.py @ 14\n" + 

+

509 "return: coverage_test.py @ 14\n" 

+

510 ) 

+

511 assert expected == out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

512 

+

513 @pytest.mark.expensive 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 @pytest.mark.skipif(env.METACOV, reason="Can't set trace functions during meta-coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 def test_atexit_gettrace(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

516 # This is not a test of coverage at all, but of our understanding 

+

517 # of this edge-case behavior in various Pythons. 

+

518 

+

519 self.make_file("atexit_gettrace.py", """\ 

+

520 import atexit, sys 

+

521 

+

522 def trace_function(frame, event, arg): 

+

523 return trace_function 

+

524 sys.settrace(trace_function) 

+

525 

+

526 def show_trace_function(): 

+

527 tfn = sys.gettrace() 

+

528 if tfn is not None: 

+

529 tfn = tfn.__name__ 

+

530 print(tfn) 

+

531 atexit.register(show_trace_function) 

+

532 

+

533 # This will show what the trace function is at the end of the program. 

+

534 """) 

+

535 status, out = self.run_command_status("python atexit_gettrace.py") 

+

536 assert status == 0 

+

537 if env.PYPY and env.PYPYVERSION >= (5, 4): 

+

538 # Newer PyPy clears the trace function before atexit runs. 

+

539 assert out == "None\n" 

+

540 else: 

+

541 # Other Pythons leave the trace function in place. 

+

542 assert out == "trace_function\n" 

+

543 

+

544 

+

545class ExecTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 """Tests of exec.""" 

+

547 def test_correct_filename(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

548 # https://github.com/nedbat/coveragepy/issues/380 

+

549 # Bug was that exec'd files would have their lines attributed to the 

+

550 # calling file. Make two files, both with ~30 lines, but no lines in 

+

551 # common. Line 30 in to_exec.py was recorded as line 30 in main.py, 

+

552 # but now it's fixed. :) 

+

553 self.make_file("to_exec.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 

+

555 print("var is {}".format(var)) # line 31 

+

556 """) 

+

557 self.make_file("main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

558 namespace = {'var': 17} 

+

559 with open("to_exec.py") as to_exec_py: 

+

560 code = compile(to_exec_py.read(), 'to_exec.py', 'exec') 

+

561 exec(code, globals(), namespace) 

+

562 \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 

+

563 print("done") # line 35 

+

564 """) 

+

565 

+

566 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

567 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 

+

569 _, statements, missing, _ = cov.analysis("main.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 assert statements == [1, 2, 3, 4, 35] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

571 assert missing == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 _, statements, missing, _ = cov.analysis("to_exec.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 assert statements == [31] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

574 assert missing == [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

575 

+

576 def test_unencodable_filename(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

577 # https://github.com/nedbat/coveragepy/issues/891 

+

578 self.make_file("bug891.py", r"""exec(compile("pass", "\udcff.py", "exec"))""") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

580 self.start_import_stop(cov, "bug891") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 # Saving would fail trying to encode \udcff.py 

+

582 cov.save() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

583 files = [os.path.basename(f) for f in cov.get_data().measured_files()] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

584 assert "bug891.py" in files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

585 

+

586 

+

587class MockingProtectionTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

588 """Tests about protecting ourselves from aggressive mocking. 

+

589 

+

590 https://github.com/nedbat/coveragepy/issues/416 

+

591 

+

592 """ 

+

593 def test_os_path_exists(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

594 # To see if this test still detects the problem, change isolate_module 

+

595 # in misc.py to simply return its argument. It should fail with a 

+

596 # StopIteration error. 

+

597 self.make_file("bug416.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

598 import os.path 

+

599 from unittest import mock 

+

600 

+

601 @mock.patch('os.path.exists') 

+

602 def test_path_exists(mock_exists): 

+

603 mock_exists.side_effect = [17] 

+

604 print("in test") 

+

605 import bug416a 

+

606 print(bug416a.foo) 

+

607 print(os.path.exists(".")) 

+

608 

+

609 test_path_exists() 

+

610 """) 

+

611 self.make_file("bug416a.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

612 print("bug416a.py") 

+

613 foo = 23 

+

614 """) 

+

615 

+

616 import py_compile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 py_compile.compile("bug416a.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

618 out = self.run_command("coverage run bug416.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

619 assert out == "in test\nbug416a.py\n23\n17\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_parser_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_parser_py.html new file mode 100644 index 000000000..ad4d4c49b --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_parser_py.html @@ -0,0 +1,646 @@ + + + + + Coverage for tests/test_parser.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_parser.py: + 100.000% +

+ +

+ 200 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.py's code parsing.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import ast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from typing import List 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage.exceptions import NotPython 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.parser import ast_dump, PythonParser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 

+

21from tests.coveragetest import CoverageTest, TESTS_DIR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from tests.helpers import arcz_to_arcs, re_lines, xfail_pypy38 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24 

+

25class PythonParserTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 """Tests for coverage.py's Python code parsing.""" 

+

27 

+

28 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 

+

30 def parse_source(self, text: str) -> PythonParser: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 """Parse `text` as source, and return the `PythonParser` used.""" 

+

32 text = textwrap.dedent(text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 parser = PythonParser(text=text, exclude="nocover") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 parser.parse_source() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 return parser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37 def test_exit_counts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 # check some basic branch counting 

+

40 class Foo: 

+

41 def foo(self, a): 

+

42 if a: 

+

43 return 5 

+

44 else: 

+

45 return 7 

+

46 

+

47 class Bar: 

+

48 pass 

+

49 """) 

+

50 assert parser.exit_counts() == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 2:1, 3:1, 4:2, 5:1, 7:1, 9:1, 10:1 

+

52 } 

+

53 

+

54 def test_generator_exit_counts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 # https://github.com/nedbat/coveragepy/issues/324 

+

56 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 def gen(input): 

+

58 for n in inp: 

+

59 yield (i * 2 for i in range(n)) 

+

60 

+

61 list(gen([1,2,3])) 

+

62 """) 

+

63 assert parser.exit_counts() == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 1:1, # def -> list 

+

65 2:2, # for -> yield; for -> exit 

+

66 3:2, # yield -> for; genexp exit 

+

67 5:1, # list -> exit 

+

68 } 

+

69 

+

70 def test_try_except(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 try: 

+

73 a = 2 

+

74 except ValueError: 

+

75 a = 4 

+

76 except ZeroDivideError: 

+

77 a = 6 

+

78 except: 

+

79 a = 8 

+

80 b = 9 

+

81 """) 

+

82 assert parser.exit_counts() == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 1: 1, 2:1, 3:2, 4:1, 5:2, 6:1, 7:1, 8:1, 9:1 

+

84 } 

+

85 

+

86 def test_excluded_classes(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 class Foo: 

+

89 def __init__(self): 

+

90 pass 

+

91 

+

92 if len([]): # nocover 

+

93 class Bar: 

+

94 pass 

+

95 """) 

+

96 assert parser.exit_counts() == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 1:0, 2:1, 3:1 

+

98 } 

+

99 

+

100 def test_missing_branch_to_excluded_code(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 if fooey: 

+

103 a = 2 

+

104 else: # nocover 

+

105 a = 4 

+

106 b = 5 

+

107 """) 

+

108 assert parser.exit_counts() == { 1:1, 2:1, 5:1 } 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 def foo(): 

+

111 if fooey: 

+

112 a = 3 

+

113 else: 

+

114 a = 5 

+

115 b = 6 

+

116 """) 

+

117 assert parser.exit_counts() == { 1:1, 2:2, 3:1, 5:1, 6:1 } 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 def foo(): 

+

120 if fooey: 

+

121 a = 3 

+

122 else: # nocover 

+

123 a = 5 

+

124 b = 6 

+

125 """) 

+

126 assert parser.exit_counts() == { 1:1, 2:1, 3:1, 6:1 } 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 

+

128 def test_indentation_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 msg = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 "Couldn't parse '<code>' as Python source: " + 

+

131 "'unindent does not match any outer indentation level' at line 3" 

+

132 ) 

+

133 with pytest.raises(NotPython, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 _ = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 0 spaces 

+

136 2 

+

137 1 

+

138 """) 

+

139 

+

140 def test_token_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 msg = "Couldn't parse '<code>' as Python source: 'EOF in multi-line string' at line 1" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 with pytest.raises(NotPython, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 _ = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 ''' 

+

145 """) 

+

146 

+

147 @xfail_pypy38 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 def test_decorator_pragmas(self) -> None: 

+

149 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 # 1 

+

151 

+

152 @foo(3) # nocover 

+

153 @bar 

+

154 def func(x, y=5): 

+

155 return 6 

+

156 

+

157 class Foo: # this is the only statement. 

+

158 '''9''' 

+

159 @foo # nocover 

+

160 def __init__(self): 

+

161 '''12''' 

+

162 return 13 

+

163 

+

164 @foo( # nocover 

+

165 16, 

+

166 17, 

+

167 ) 

+

168 def meth(self): 

+

169 return 20 

+

170 

+

171 @foo( # nocover 

+

172 23 

+

173 ) 

+

174 def func(x=25): 

+

175 return 26 

+

176 """) 

+

177 raw_statements = {3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 17, 20, 22, 23, 25, 26} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 raw_statements.update({11, 19}) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 assert parser.raw_statements == raw_statements 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 assert parser.statements == {8} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 

+

183 @xfail_pypy38 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 def test_decorator_pragmas_with_colons(self) -> None: 

+

185 # A colon in a decorator expression would confuse the parser, 

+

186 # ending the exclusion of the decorated function. 

+

187 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 @decorate(X) # nocover 

+

189 @decorate("Hello"[2]) 

+

190 def f(): 

+

191 x = 4 

+

192 

+

193 @decorate(X) # nocover 

+

194 @decorate("Hello"[:7]) 

+

195 def g(): 

+

196 x = 9 

+

197 """) 

+

198 raw_statements = {1, 2, 4, 6, 7, 9} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 raw_statements.update({3, 8}) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 assert parser.raw_statements == raw_statements 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 assert parser.statements == set() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 

+

204 def test_class_decorator_pragmas(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 class Foo(object): 

+

207 def __init__(self): 

+

208 self.x = 3 

+

209 

+

210 @foo # nocover 

+

211 class Bar(object): 

+

212 def __init__(self): 

+

213 self.x = 8 

+

214 """) 

+

215 assert parser.raw_statements == {1, 2, 3, 5, 6, 7, 8} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 assert parser.statements == {1, 2, 3} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 

+

218 def test_empty_decorated_function(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 parser = self.parse_source("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 def decorator(func): 

+

221 return func 

+

222 

+

223 @decorator 

+

224 def foo(self): 

+

225 '''Docstring''' 

+

226 

+

227 @decorator 

+

228 def bar(self): 

+

229 pass 

+

230 """) 

+

231 

+

232 if env.PYBEHAVIOR.trace_decorated_def: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 expected_statements = {1, 2, 4, 5, 8, 9, 10} 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 expected_arcs = set(arcz_to_arcs(".1 14 45 58 89 9. .2 2. -8A A-8")) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 expected_exits = {1: 1, 2: 1, 4: 1, 5: 1, 8: 1, 9: 1, 10: 1} 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 else: 

+

237 expected_statements = {1, 2, 4, 8, 10} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

238 expected_arcs = set(arcz_to_arcs(".1 14 48 8. .2 2. -8A A-8")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

239 expected_exits = {1: 1, 2: 1, 4: 1, 8: 1, 10: 1} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.pypypy-3.7.ubuntu-latest.py

+

240 

+

241 if env.PYBEHAVIOR.docstring_only_function: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 # 3.7 changed how functions with only docstrings are numbered. 

+

243 expected_arcs.update(set(arcz_to_arcs("-46 6-4"))) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py

+

244 expected_exits.update({6: 1}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py

+

245 

+

246 if env.PYBEHAVIOR.trace_decorator_line_again: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 expected_arcs.update(set(arcz_to_arcs("54 98"))) 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

248 expected_exits.update({9: 2, 5: 2}) 3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

249 

+

250 assert expected_statements == parser.statements 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 assert expected_arcs == parser.arcs() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 assert expected_exits == parser.exit_counts() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 

+

254 def test_fuzzed_double_parse(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 # https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50381 

+

256 # The second parse used to raise `TypeError: 'NoneType' object is not iterable` 

+

257 msg = "EOF in multi-line statement" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 with pytest.raises(NotPython, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 self.parse_source("]") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 with pytest.raises(NotPython, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 self.parse_source("]") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 

+

263 

+

264class ParserMissingArcDescriptionTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 """Tests for PythonParser.missing_arc_description.""" 

+

266 

+

267 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 

+

269 def parse_text(self, source: str) -> PythonParser: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 """Parse Python source, and return the parser object.""" 

+

271 parser = PythonParser(text=textwrap.dedent(source)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 parser.parse_source() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 return parser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 

+

275 def test_missing_arc_description(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 # This code is never run, so the actual values don't matter. 

+

277 parser = self.parse_text("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

278 if x: 

+

279 print(2) 

+

280 print(3) 

+

281 

+

282 def func5(): 

+

283 for x in range(6): 

+

284 if x == 7: 

+

285 break 

+

286 

+

287 def func10(): 

+

288 while something(11): 

+

289 thing(12) 

+

290 more_stuff(13) 

+

291 """) 

+

292 expected = "line 1 didn't jump to line 2, because the condition on line 1 was never true" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 assert expected == parser.missing_arc_description(1, 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 expected = "line 1 didn't jump to line 3, because the condition on line 1 was never false" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 assert expected == parser.missing_arc_description(1, 3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 "line 6 didn't return from function 'func5', " + 

+

298 "because the loop on line 6 didn't complete" 

+

299 ) 

+

300 assert expected == parser.missing_arc_description(6, -5) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 expected = "line 6 didn't jump to line 7, because the loop on line 6 never started" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

302 assert expected == parser.missing_arc_description(6, 7) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 expected = "line 11 didn't jump to line 12, because the condition on line 11 was never true" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 assert expected == parser.missing_arc_description(11, 12) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 "line 11 didn't jump to line 13, " + 

+

307 "because the condition on line 11 was never false" 

+

308 ) 

+

309 assert expected == parser.missing_arc_description(11, 13) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 

+

311 def test_missing_arc_descriptions_for_small_callables(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 parser = self.parse_text("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 callables = [ 

+

314 lambda: 2, 

+

315 (x for x in range(3)), 

+

316 {x:1 for x in range(4)}, 

+

317 {x for x in range(5)}, 

+

318 ] 

+

319 x = 7 

+

320 """) 

+

321 expected = "line 2 didn't finish the lambda on line 2" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 assert expected == parser.missing_arc_description(2, -2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 expected = "line 3 didn't finish the generator expression on line 3" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 assert expected == parser.missing_arc_description(3, -3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 expected = "line 4 didn't finish the dictionary comprehension on line 4" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 assert expected == parser.missing_arc_description(4, -4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 expected = "line 5 didn't finish the set comprehension on line 5" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 assert expected == parser.missing_arc_description(5, -5) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 

+

330 def test_missing_arc_descriptions_for_exceptions(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 parser = self.parse_text("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 try: 

+

333 pass 

+

334 except ZeroDivideError: 

+

335 print("whoops") 

+

336 except ValueError: 

+

337 print("yikes") 

+

338 """) 

+

339 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 "line 3 didn't jump to line 4, " + 

+

341 "because the exception caught by line 3 didn't happen" 

+

342 ) 

+

343 assert expected == parser.missing_arc_description(3, 4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

344 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 "line 5 didn't jump to line 6, " + 

+

346 "because the exception caught by line 5 didn't happen" 

+

347 ) 

+

348 assert expected == parser.missing_arc_description(5, 6) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 

+

350 def test_missing_arc_descriptions_for_finally(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 parser = self.parse_text("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

352 def function(): 

+

353 for i in range(2): 

+

354 try: 

+

355 if something(4): 

+

356 break 

+

357 elif something(6): 

+

358 x = 7 

+

359 else: 

+

360 if something(9): 

+

361 continue 

+

362 else: 

+

363 continue 

+

364 if also_this(13): 

+

365 return 14 

+

366 else: 

+

367 raise Exception(16) 

+

368 finally: 

+

369 this_thing(18) 

+

370 that_thing(19) 

+

371 """) 

+

372 if env.PYBEHAVIOR.finally_jumps_back: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 expected = "line 18 didn't jump to line 5, because the break on line 5 wasn't executed" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 assert expected == parser.missing_arc_description(18, 5) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 expected = "line 5 didn't jump to line 19, because the break on line 5 wasn't executed" 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 assert expected == parser.missing_arc_description(5, 19) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

377 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

378 "line 18 didn't jump to line 10, " + 

+

379 "because the continue on line 10 wasn't executed" 

+

380 ) 

+

381 assert expected == parser.missing_arc_description(18, 10) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

383 "line 10 didn't jump to line 2, " + 

+

384 "because the continue on line 10 wasn't executed" 

+

385 ) 

+

386 assert expected == parser.missing_arc_description(10, 2) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 "line 18 didn't jump to line 14, " + 

+

389 "because the return on line 14 wasn't executed" 

+

390 ) 

+

391 assert expected == parser.missing_arc_description(18, 14) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

392 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 "line 14 didn't return from function 'function', " + 

+

394 "because the return on line 14 wasn't executed" 

+

395 ) 

+

396 assert expected == parser.missing_arc_description(14, -1) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

398 "line 18 didn't except from function 'function', " + 

+

399 "because the raise on line 16 wasn't executed" 

+

400 ) 

+

401 assert expected == parser.missing_arc_description(18, -1) 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 else: 

+

403 expected = ( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

404 "line 18 didn't jump to line 19, " + 

+

405 "because the break on line 5 wasn't executed" 

+

406 ) 

+

407 assert expected == parser.missing_arc_description(18, 19) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

408 expected = ( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

409 "line 18 didn't jump to line 2, " + 

+

410 "because the continue on line 10 wasn't executed" + 

+

411 " or " + 

+

412 "the continue on line 12 wasn't executed" 

+

413 ) 

+

414 assert expected == parser.missing_arc_description(18, 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

415 expected = ( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

416 "line 18 didn't except from function 'function', " + 

+

417 "because the raise on line 16 wasn't executed" + 

+

418 " or " + 

+

419 "line 18 didn't return from function 'function', " + 

+

420 "because the return on line 14 wasn't executed" 

+

421 ) 

+

422 assert expected == parser.missing_arc_description(18, -1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.py

+

423 

+

424 def test_missing_arc_descriptions_bug460(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 parser = self.parse_text("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 x = 1 

+

427 d = { 

+

428 3: lambda: [], 

+

429 4: lambda: [], 

+

430 } 

+

431 x = 6 

+

432 """) 

+

433 assert parser.missing_arc_description(2, -3) == "line 3 didn't finish the lambda on line 3" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

434 

+

435 @pytest.mark.skipif(not env.PYBEHAVIOR.match_case, reason="Match-case is new in 3.10") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

436 def test_match_case_with_default(self) -> None: 

+

437 parser = self.parse_text("""\ 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

438 for command in ["huh", "go home", "go n"]: 

+

439 match command.split(): 

+

440 case ["go", direction] if direction in "nesw": 

+

441 match = f"go: {direction}" 

+

442 case ["go", _]: 

+

443 match = "no go" 

+

444 print(match) 

+

445 """) 

+

446 assert parser.missing_arc_description(3, 4) == ( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

447 "line 3 didn't jump to line 4, because the pattern on line 3 never matched" 

+

448 ) 

+

449 assert parser.missing_arc_description(3, 5) == ( 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

450 "line 3 didn't jump to line 5, because the pattern on line 3 always matched" 

+

451 ) 

+

452 

+

453 

+

454class ParserFileTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 """Tests for coverage.py's code parsing from files.""" 

+

456 

+

457 def parse_file(self, filename: str) -> PythonParser: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 """Parse `text` as source, and return the `PythonParser` used.""" 

+

459 parser = PythonParser(filename=filename, exclude="nocover") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 parser.parse_source() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

461 return parser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

462 

+

463 @pytest.mark.parametrize("slug, newline", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

464 ("unix", "\n"), ("dos", "\r\n"), ("mac", "\r"), 

+

465 ]) 

+

466 def test_line_endings(self, slug: str, newline: str) -> None: 

+

467 text = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

468 # check some basic branch counting 

+

469 class Foo: 

+

470 def foo(self, a): 

+

471 if a: 

+

472 return 5 

+

473 else: 

+

474 return 7 

+

475 

+

476 class Bar: 

+

477 pass 

+

478 """ 

+

479 counts = { 2:1, 3:1, 4:2, 5:1, 7:1, 9:1, 10:1 } 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 fname = slug + ".py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 self.make_file(fname, text, newline=newline) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

482 parser = self.parse_file(fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 assert parser.exit_counts() == counts, f"Wrong for {fname!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

484 

+

485 def test_encoding(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 self.make_file("encoded.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

487 coverage = "\xe7\xf6v\xear\xe3g\xe9" 

+

488 """) 

+

489 parser = self.parse_file("encoded.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 assert parser.exit_counts() == {1: 1} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

491 

+

492 def test_missing_line_ending(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

493 # Test that the set of statements is the same even if a final 

+

494 # multi-line statement has no final newline. 

+

495 # https://github.com/nedbat/coveragepy/issues/293 

+

496 

+

497 self.make_file("normal.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

498 out, err = subprocess.Popen( 

+

499 [sys.executable, '-c', 'pass'], 

+

500 stdout=subprocess.PIPE, 

+

501 stderr=subprocess.PIPE).communicate() 

+

502 """) 

+

503 

+

504 parser = self.parse_file("normal.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 assert parser.statements == {1} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 

+

507 self.make_file("abrupt.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 out, err = subprocess.Popen( 

+

509 [sys.executable, '-c', 'pass'], 

+

510 stdout=subprocess.PIPE, 

+

511 stderr=subprocess.PIPE).communicate()""") # no final newline. 

+

512 

+

513 # Double-check that some test helper wasn't being helpful. 

+

514 with open("abrupt.py") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 assert f.read()[-1] == ")" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

516 

+

517 parser = self.parse_file("abrupt.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

518 assert parser.statements == {1} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

519 

+

520 

+

521def test_ast_dump() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 # Run the AST_DUMP code to make sure it doesn't fail, with some light 

+

523 # assertions. Use parser.py as the test code since it is the longest file, 

+

524 # and fitting, since it's the AST_DUMP code. 

+

525 import coverage.parser 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

526 files = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

527 coverage.parser.__file__, 

+

528 os.path.join(TESTS_DIR, "stress_phystoken.tok"), 

+

529 ] 

+

530 for fname in files: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

531 with open(fname) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

532 source = f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 num_lines = len(source.splitlines()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

534 with warnings.catch_warnings(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 # stress_phystoken.tok has deprecation warnings, suppress them. 

+

536 warnings.filterwarnings("ignore", message=r".*invalid escape sequence") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

537 ast_root = ast.parse(source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

538 result: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

539 ast_dump(ast_root, print=result.append) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

540 if num_lines < 100: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

541 continue 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

542 assert len(result) > 5 * num_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

543 assert result[0] == "<Module" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

544 assert result[-1] == ">" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

545 result_text = "\n".join(result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

546 assert len(re_lines(r"^\s+>", result_text)) > num_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

547 assert len(re_lines(r"<Name @ \d+,\d+(:\d+)? id: '\w+'>", result_text)) > num_lines // 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_phystokens_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_phystokens_py.html new file mode 100644 index 000000000..8e352a4e3 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_phystokens_py.html @@ -0,0 +1,306 @@ + + + + + Coverage for tests/test_phystokens.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_phystokens.py: + 100.000% +

+ +

+ 95 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.py's improved tokenizer.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

8import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.phystokens import source_token_lines, source_encoding 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.python import get_python_source 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from tests.coveragetest import CoverageTest, TESTS_DIR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19 

+

20# A simple program and its token stream. 

+

21SIMPLE = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22# yay! 

+

23def foo(): 

+

24 say('two = %d' % 2) 

+

25""" 

+

26 

+

27SIMPLE_TOKENS = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 [('com', "# yay!")], 

+

29 [('key', 'def'), ('ws', ' '), ('nam', 'foo'), ('op', '('), ('op', ')'), ('op', ':')], 

+

30 [('ws', ' '), ('nam', 'say'), ('op', '('), 

+

31 ('str', "'two = %d'"), ('ws', ' '), ('op', '%'), 

+

32 ('ws', ' '), ('num', '2'), ('op', ')')], 

+

33] 

+

34 

+

35# Mixed-white-space program, and its token stream. 

+

36MIXED_WS = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37def hello(): 

+

38 a="Hello world!" 

+

39\tb="indented" 

+

40""" 

+

41 

+

42MIXED_WS_TOKENS = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 [('key', 'def'), ('ws', ' '), ('nam', 'hello'), ('op', '('), ('op', ')'), ('op', ':')], 

+

44 [('ws', ' '), ('nam', 'a'), ('op', '='), ('str', '"Hello world!"')], 

+

45 [('ws', ' '), ('nam', 'b'), ('op', '='), ('str', '"indented"')], 

+

46] 

+

47 

+

48# https://github.com/nedbat/coveragepy/issues/822 

+

49BUG_822 = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50print( "Message 1" ) 

+

51array = [ 1,2,3,4, # 4 numbers \\ 

+

52 5,6,7 ] # 3 numbers 

+

53print( "Message 2" ) 

+

54""" 

+

55 

+

56class PhysTokensTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 """Tests for coverage.py's improved tokenizer.""" 

+

58 

+

59 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 

+

61 def check_tokenization(self, source: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 """Tokenize `source`, then put it back together, should be the same.""" 

+

63 tokenized = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 for line in source_token_lines(source): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 text = "".join(t for _, t in line) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 tokenized += text + "\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 # source_token_lines doesn't preserve trailing spaces, so trim all that 

+

68 # before comparing. 

+

69 source = source.replace('\r\n', '\n') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 source = re.sub(r"(?m)[ \t]+$", "", source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 tokenized = re.sub(r"(?m)[ \t]+$", "", tokenized) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 assert source == tokenized 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 

+

74 def check_file_tokenization(self, fname: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 """Use the contents of `fname` for `check_tokenization`.""" 

+

76 self.check_tokenization(get_python_source(fname)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 

+

78 def test_simple(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 assert list(source_token_lines(SIMPLE)) == SIMPLE_TOKENS 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 self.check_tokenization(SIMPLE) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 

+

82 def test_missing_final_newline(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 # We can tokenize source that is missing the final newline. 

+

84 assert list(source_token_lines(SIMPLE.rstrip())) == SIMPLE_TOKENS 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 

+

86 def test_tab_indentation(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

87 # Mixed tabs and spaces... 

+

88 assert list(source_token_lines(MIXED_WS)) == MIXED_WS_TOKENS 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 

+

90 def test_bug_822(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 self.check_tokenization(BUG_822) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 

+

93 def test_tokenize_real_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 # Check the tokenization of a real file (large, btw). 

+

95 real_file = os.path.join(TESTS_DIR, "test_coverage.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 self.check_file_tokenization(real_file) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 

+

98 @pytest.mark.parametrize("fname", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 "stress_phystoken.tok", 

+

100 "stress_phystoken_dos.tok", 

+

101 ]) 

+

102 def test_stress(self, fname: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 # Check the tokenization of the stress-test files. 

+

104 # And check that those files haven't been incorrectly "fixed". 

+

105 with warnings.catch_warnings(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 warnings.filterwarnings("ignore", message=r".*invalid escape sequence") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 

+

108 stress = os.path.join(TESTS_DIR, fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 self.check_file_tokenization(stress) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 with open(stress) as fstress: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 assert re.search(r"(?m) $", fstress.read()), f"{stress} needs a trailing space." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 

+

113@pytest.mark.skipif(not env.PYBEHAVIOR.soft_keywords, reason="Soft keywords are new in Python 3.10") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114class SoftKeywordTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 """Tests the tokenizer handling soft keywords.""" 

+

116 

+

117 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 

+

119 def test_soft_keywords(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 source = textwrap.dedent("""\ 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

121 match re.match(something): 

+

122 case ["what"]: 

+

123 match = case("hello") 

+

124 case [_]: 

+

125 match("hello") 

+

126 match another.thing: 

+

127 case 1: 

+

128 pass 

+

129 

+

130 class case(): pass 

+

131 def match(): 

+

132 global case 

+

133 """) 

+

134 tokens = list(source_token_lines(source)) 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

135 assert tokens[0][0] == ("key", "match") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

136 assert tokens[0][4] == ("nam", "match") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

137 assert tokens[1][1] == ("key", "case") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

138 assert tokens[2][1] == ("nam", "match") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

139 assert tokens[2][5] == ("nam", "case") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

140 assert tokens[3][1] == ("key", "case") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

141 assert tokens[4][1] == ("nam", "match") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

142 assert tokens[5][1] == ("key", "match") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

143 assert tokens[6][1] == ("key", "case") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

144 assert tokens[9][2] == ("nam", "case") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

145 assert tokens[10][2] == ("nam", "match") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

146 assert tokens[11][3] == ("nam", "case") 3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

147 

+

148 

+

149# The default source file encoding. 

+

150DEF_ENCODING = "utf-8" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 

+

152 

+

153ENCODING_DECLARATION_SOURCES = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 # Various forms from http://www.python.org/dev/peps/pep-0263/ 

+

155 (1, b"# coding=cp850\n\n", "cp850"), 

+

156 (1, b"# coding=latin-1\n", "iso-8859-1"), 

+

157 (1, b"# coding=iso-latin-1\n", "iso-8859-1"), 

+

158 (1, b"#!/usr/bin/python\n# -*- coding: cp850 -*-\n", "cp850"), 

+

159 (1, b"#!/usr/bin/python\n# vim: set fileencoding=cp850:\n", "cp850"), 

+

160 (1, b"# This Python file uses this encoding: cp850\n", "cp850"), 

+

161 (1, b"# This file uses a different encoding:\n# coding: cp850\n", "cp850"), 

+

162 (1, b"\n# coding=cp850\n\n", "cp850"), 

+

163 (2, b"# -*- coding:cp850 -*-\n# vim: fileencoding=cp850\n", "cp850"), 

+

164] 

+

165 

+

166class SourceEncodingTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 """Tests of source_encoding() for detecting encodings.""" 

+

168 

+

169 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 

+

171 def test_detect_source_encoding(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 for _, source, expected in ENCODING_DECLARATION_SOURCES: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 assert source_encoding(source) == expected, f"Wrong encoding in {source!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 

+

175 def test_detect_source_encoding_not_in_comment(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 # Should not detect anything here 

+

177 source = b'def parse(src, encoding=None):\n pass' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 assert source_encoding(source) == DEF_ENCODING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 

+

180 def test_dont_detect_source_encoding_on_third_line(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 # A coding declaration doesn't count on the third line. 

+

182 source = b"\n\n# coding=cp850\n\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 assert source_encoding(source) == DEF_ENCODING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 

+

185 def test_detect_source_encoding_of_empty_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 # An important edge case. 

+

187 assert source_encoding(b"") == DEF_ENCODING 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 

+

189 def test_bom(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 # A BOM means utf-8. 

+

191 source = b"\xEF\xBB\xBFtext = 'hello'\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 assert source_encoding(source) == 'utf-8-sig' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 def test_bom_with_encoding(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 source = b"\xEF\xBB\xBF# coding: utf-8\ntext = 'hello'\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 assert source_encoding(source) == 'utf-8-sig' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 

+

198 def test_bom_is_wrong(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 # A BOM with an explicit non-utf8 encoding is an error. 

+

200 source = b"\xEF\xBB\xBF# coding: cp850\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 with pytest.raises(SyntaxError, match="encoding problem: utf-8"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 source_encoding(source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 

+

204 def test_unknown_encoding(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 source = b"# coding: klingon\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 with pytest.raises(SyntaxError, match="unknown encoding: klingon"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 source_encoding(source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_plugins_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_plugins_py.html new file mode 100644 index 000000000..e25ebb82d --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_plugins_py.html @@ -0,0 +1,1266 @@ + + + + + Coverage for tests/test_plugins.py: 99.769% + + + + + +
+
+

+ Coverage for tests/test_plugins.py: + 99.769% +

+ +

+ 403 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for plugins.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import inspect 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import io 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import math 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from typing import Any, Dict, List, Optional 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from xml.etree import ElementTree 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage import Coverage, env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.control import Plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.data import line_counts, sorted_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.exceptions import CoverageWarning, NoSource, PluginError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.misc import import_local_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.types import TConfigSectionOut, TLineNo, TPluginConfig 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26import coverage.plugin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29from tests.helpers import CheckUniqueFilenames, swallow_warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 

+

31 

+

32class NullConfig(TPluginConfig): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 """A plugin configure thing when we don't really need one.""" 

+

34 def get_plugin_options(self, plugin: str) -> TConfigSectionOut: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 return {} 

+

36 

+

37 

+

38class FakeConfig(TPluginConfig): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 """A fake config for use in tests.""" 

+

40 

+

41 def __init__(self, plugin: str, options: Dict[str, Any]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 self.plugin = plugin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 self.options = options 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 self.asked_for: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 

+

46 def get_plugin_options(self, plugin: str) -> TConfigSectionOut: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 """Just return the options for `plugin` if this is the right module.""" 

+

48 self.asked_for.append(plugin) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 if plugin == self.plugin: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 return self.options 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 else: 

+

52 return {} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 

+

54 

+

55class LoadPluginsTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 """Test Plugins.load_plugins directly.""" 

+

57 

+

58 def test_implicit_boolean(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 self.make_file("plugin1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 from coverage import CoveragePlugin 

+

61 

+

62 class Plugin(CoveragePlugin): 

+

63 pass 

+

64 

+

65 def coverage_init(reg, options): 

+

66 reg.add_file_tracer(Plugin()) 

+

67 """) 

+

68 

+

69 config = FakeConfig("plugin1", {}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 plugins = Plugins.load_plugins([], config) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 assert not plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 

+

73 plugins = Plugins.load_plugins(["plugin1"], config) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 assert plugins 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

75 

+

76 def test_importing_and_configuring(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 self.make_file("plugin1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 from coverage import CoveragePlugin 

+

79 

+

80 class Plugin(CoveragePlugin): 

+

81 def __init__(self, options): 

+

82 self.options = options 

+

83 self.this_is = "me" 

+

84 

+

85 def coverage_init(reg, options): 

+

86 reg.add_file_tracer(Plugin(options)) 

+

87 """) 

+

88 

+

89 config = FakeConfig("plugin1", {'a': 'hello'}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 plugins = list(Plugins.load_plugins(["plugin1"], config)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 

+

92 assert len(plugins) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 assert plugins[0].this_is == "me" # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 assert plugins[0].options == {'a': 'hello'} # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 assert config.asked_for == ['plugin1'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 

+

97 def test_importing_and_configuring_more_than_one(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 self.make_file("plugin1.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 from coverage import CoveragePlugin 

+

100 

+

101 class Plugin(CoveragePlugin): 

+

102 def __init__(self, options): 

+

103 self.options = options 

+

104 self.this_is = "me" 

+

105 

+

106 def coverage_init(reg, options): 

+

107 reg.add_file_tracer(Plugin(options)) 

+

108 """) 

+

109 self.make_file("plugin2.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 from coverage import CoveragePlugin 

+

111 

+

112 class Plugin(CoveragePlugin): 

+

113 def __init__(self, options): 

+

114 self.options = options 

+

115 

+

116 def coverage_init(reg, options): 

+

117 reg.add_file_tracer(Plugin(options)) 

+

118 """) 

+

119 

+

120 config = FakeConfig("plugin1", {'a': 'hello'}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 plugins = list(Plugins.load_plugins(["plugin1", "plugin2"], config)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 

+

123 assert len(plugins) == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 assert plugins[0].this_is == "me" # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 assert plugins[0].options == {'a': 'hello'} # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 assert plugins[1].options == {} # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 assert config.asked_for == ['plugin1', 'plugin2'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 

+

129 # The order matters... 

+

130 config = FakeConfig("plugin1", {'a': 'second'}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 plugins = list(Plugins.load_plugins(["plugin2", "plugin1"], config)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 

+

133 assert len(plugins) == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 assert plugins[0].options == {} # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 assert plugins[1].this_is == "me" # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 assert plugins[1].options == {'a': 'second'} # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 

+

138 def test_cant_import(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 with pytest.raises(ImportError, match="No module named '?plugin_not_there'?"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 _ = Plugins.load_plugins(["plugin_not_there"], NullConfig()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 

+

142 def test_plugin_must_define_coverage_init(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 self.make_file("no_plugin.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 from coverage import CoveragePlugin 

+

145 Nothing = 0 

+

146 """) 

+

147 msg_pat = "Plugin module 'no_plugin' didn't define a coverage_init function" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 with pytest.raises(PluginError, match=msg_pat): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 list(Plugins.load_plugins(["no_plugin"], NullConfig())) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 

+

151 

+

152class PluginTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 """Test plugins through the Coverage class.""" 

+

154 

+

155 def test_plugin_imported(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 # Prove that a plugin will be imported. 

+

157 self.make_file("my_plugin.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 from coverage import CoveragePlugin 

+

159 class Plugin(CoveragePlugin): 

+

160 pass 

+

161 def coverage_init(reg, options): 

+

162 reg.add_noop(Plugin()) 

+

163 with open("evidence.out", "w") as f: 

+

164 f.write("we are here!") 

+

165 """) 

+

166 

+

167 self.assert_doesnt_exist("evidence.out") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 cov.set_option("run:plugins", ["my_plugin"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 

+

173 with open("evidence.out") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 assert f.read() == "we are here!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 

+

176 def test_missing_plugin_raises_import_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 # Prove that a missing plugin will raise an ImportError. 

+

178 with pytest.raises(ImportError, match="No module named '?does_not_exist_woijwoicweo'?"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 cov.set_option("run:plugins", ["does_not_exist_woijwoicweo"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 cov.stop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 

+

184 def test_bad_plugin_isnt_hidden(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 # Prove that a plugin with an error in it will raise the error. 

+

186 self.make_file("plugin_over_zero.py", "1/0") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 with pytest.raises(ZeroDivisionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 cov.set_option("run:plugins", ["plugin_over_zero"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 cov.stop() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 

+

193 def test_plugin_sys_info(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 self.make_file("plugin_sys_info.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 import coverage 

+

196 

+

197 class Plugin(coverage.CoveragePlugin): 

+

198 def sys_info(self): 

+

199 return [("hello", "world")] 

+

200 

+

201 def coverage_init(reg, options): 

+

202 reg.add_file_tracer(Plugin()) 

+

203 """) 

+

204 debug_out = io.StringIO() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 cov = coverage.Coverage(debug=["sys"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 cov._debug_file = debug_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 cov.set_option("run:plugins", ["plugin_sys_info"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 with swallow_warnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 r"Plugin file tracers \(plugin_sys_info.Plugin\) aren't supported with PyTracer" 

+

210 ): 

+

211 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 

+

214 out_lines = [line.strip() for line in debug_out.getvalue().splitlines()] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 if env.C_TRACER: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 assert 'plugins.file_tracers: plugin_sys_info.Plugin' in out_lines 3.7.macos-latest.c3.7.ubuntu-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c

+

217 else: 

+

218 assert 'plugins.file_tracers: plugin_sys_info.Plugin (disabled)' in out_lines 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 assert 'plugins.configurers: -none-' in out_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 expected_end = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 "-- sys: plugin_sys_info.Plugin -------------------------------", 

+

222 "hello: world", 

+

223 "-- end -------------------------------------------------------", 

+

224 ] 

+

225 assert expected_end == out_lines[-len(expected_end):] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 

+

227 def test_plugin_with_no_sys_info(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 self.make_file("plugin_no_sys_info.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 import coverage 

+

230 

+

231 class Plugin(coverage.CoveragePlugin): 

+

232 pass 

+

233 

+

234 def coverage_init(reg, options): 

+

235 reg.add_configurer(Plugin()) 

+

236 """) 

+

237 debug_out = io.StringIO() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 cov = coverage.Coverage(debug=["sys"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 cov._debug_file = debug_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 cov.set_option("run:plugins", ["plugin_no_sys_info"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 

+

244 out_lines = [line.strip() for line in debug_out.getvalue().splitlines()] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 assert 'plugins.file_tracers: -none-' in out_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 assert 'plugins.configurers: plugin_no_sys_info.Plugin' in out_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 expected_end = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 "-- sys: plugin_no_sys_info.Plugin ----------------------------", 

+

249 "-- end -------------------------------------------------------", 

+

250 ] 

+

251 assert expected_end == out_lines[-len(expected_end):] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 

+

253 def test_local_files_are_importable(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 self.make_file("importing_plugin.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 from coverage import CoveragePlugin 

+

256 import local_module 

+

257 class MyPlugin(CoveragePlugin): 

+

258 pass 

+

259 def coverage_init(reg, options): 

+

260 reg.add_noop(MyPlugin()) 

+

261 """) 

+

262 self.make_file("local_module.py", "CONST = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 [run] 

+

265 plugins = importing_plugin 

+

266 """) 

+

267 self.make_file("main_file.py", "print('MAIN')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 

+

269 out = self.run_command("coverage run main_file.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 assert out == "MAIN\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 out = self.run_command("coverage html -q") # sneak in a test of -q 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 assert out == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 

+

274 

+

275@pytest.mark.skipif(env.C_TRACER, reason="This test is only about PyTracer.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276class PluginWarningOnPyTracerTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 """Test that we get a controlled exception with plugins on PyTracer.""" 

+

278 def test_exception_if_plugins_on_pytracer(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 self.make_file("simple.py", "a = 1") 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 

+

281 cov = coverage.Coverage() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 cov.set_option("run:plugins", ["tests.plugin1"]) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 

+

284 expected_warnings = [ 3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 r"Plugin file tracers \(tests.plugin1.Plugin\) aren't supported with PyTracer", 

+

286 ] 

+

287 with self.assert_warnings(cov, expected_warnings): 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 self.start_import_stop(cov, "simple") 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 

+

290 

+

291@pytest.mark.skipif(not env.C_TRACER, reason="Plugins are only supported with the C tracer.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

292class FileTracerTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 """Tests of plugins that implement file_tracer.""" 

+

294 

+

295 

+

296class GoodFileTracerTest(FileTracerTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 """Tests of file tracer plugin happy paths.""" 

+

298 

+

299 def test_plugin1(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 self.make_file("simple.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

301 import try_xyz 

+

302 a = 1 

+

303 b = 2 

+

304 """) 

+

305 self.make_file("try_xyz.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

306 c = 3 

+

307 d = 4 

+

308 """) 

+

309 

+

310 cov = coverage.Coverage() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

311 CheckUniqueFilenames.hook(cov, '_should_trace') 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

312 CheckUniqueFilenames.hook(cov, '_check_include_omit_etc') 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

313 cov.set_option("run:plugins", ["tests.plugin1"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

314 

+

315 # Import the Python file, executing it. 

+

316 self.start_import_stop(cov, "simple") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

317 

+

318 _, statements, missing, _ = cov.analysis("simple.py") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c

+

319 assert statements == [1, 2, 3] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c

+

320 assert missing == [] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c

+

321 zzfile = os.path.abspath(os.path.join("/src", "try_ABC.zz")) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c

+

322 _, statements, _, _ = cov.analysis(zzfile) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c

+

323 assert statements == [105, 106, 107, 205, 206, 207] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c

+

324 

+

325 def make_render_and_caller(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 """Make the render.py and caller.py files we need.""" 

+

327 # plugin2 emulates a dynamic tracing plugin: the caller's locals 

+

328 # are examined to determine the source file and line number. 

+

329 # The plugin is in tests/plugin2.py. 

+

330 self.make_file("render.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

331 def render(filename, linenum): 

+

332 # This function emulates a template renderer. The plugin 

+

333 # will examine the `filename` and `linenum` locals to 

+

334 # determine the source file and line number. 

+

335 fiddle_around = 1 # not used, just chaff. 

+

336 return "[{} @ {}]".format(filename, linenum) 

+

337 

+

338 def helper(x): 

+

339 # This function is here just to show that not all code in 

+

340 # this file will be part of the dynamic tracing. 

+

341 return x+1 

+

342 """) 

+

343 self.make_file("caller.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

344 import sys 

+

345 from render import helper, render 

+

346 

+

347 assert render("foo_7.html", 4) == "[foo_7.html @ 4]" 

+

348 # Render foo_7.html again to try the CheckUniqueFilenames asserts. 

+

349 render("foo_7.html", 4) 

+

350 

+

351 assert helper(42) == 43 

+

352 assert render("bar_4.html", 2) == "[bar_4.html @ 2]" 

+

353 assert helper(76) == 77 

+

354 

+

355 # quux_5.html will be omitted from the results. 

+

356 assert render("quux_5.html", 3) == "[quux_5.html @ 3]" 

+

357 """) 

+

358 

+

359 # will try to read the actual source files, so make some 

+

360 # source files. 

+

361 def lines(n: int) -> str: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

362 """Make a string with n lines of text.""" 

+

363 return "".join("line %d\n" % i for i in range(n)) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

364 

+

365 self.make_file("bar_4.html", lines(4)) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

366 self.make_file("foo_7.html", lines(7)) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

367 

+

368 def test_plugin2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 self.make_render_and_caller() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

370 

+

371 cov = coverage.Coverage(omit=["*quux*"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

372 CheckUniqueFilenames.hook(cov, '_should_trace') 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

373 CheckUniqueFilenames.hook(cov, '_check_include_omit_etc') 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

374 cov.set_option("run:plugins", ["tests.plugin2"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

375 

+

376 self.start_import_stop(cov, "caller") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

377 

+

378 # The way plugin2 works, a file named foo_7.html will be claimed to 

+

379 # have 7 lines in it. If render() was called with line number 4, 

+

380 # then the plugin will claim that lines 4 and 5 were executed. 

+

381 _, statements, missing, _ = cov.analysis("foo_7.html") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

382 assert statements == [1, 2, 3, 4, 5, 6, 7] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

383 assert missing == [1, 2, 3, 6, 7] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

384 assert "foo_7.html" in line_counts(cov.get_data()) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

385 

+

386 _, statements, missing, _ = cov.analysis("bar_4.html") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

387 assert statements == [1, 2, 3, 4] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

388 assert missing == [1, 4] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

389 assert "bar_4.html" in line_counts(cov.get_data()) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

390 

+

391 assert "quux_5.html" not in line_counts(cov.get_data()) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

392 

+

393 def test_plugin2_with_branch(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

394 self.make_render_and_caller() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

395 

+

396 cov = coverage.Coverage(branch=True, omit=["*quux*"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

397 CheckUniqueFilenames.hook(cov, '_should_trace') 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

398 CheckUniqueFilenames.hook(cov, '_check_include_omit_etc') 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

399 cov.set_option("run:plugins", ["tests.plugin2"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

400 

+

401 self.start_import_stop(cov, "caller") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

402 

+

403 # The way plugin2 works, a file named foo_7.html will be claimed to 

+

404 # have 7 lines in it. If render() was called with line number 4, 

+

405 # then the plugin will claim that lines 4 and 5 were executed. 

+

406 analysis = cov._analyze("foo_7.html") 3.7.macos-latest.c3.7.ubuntu-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

407 assert analysis.statements == {1, 2, 3, 4, 5, 6, 7} 3.7.macos-latest.c3.7.ubuntu-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

408 # Plugins don't do branch coverage yet. 

+

409 assert analysis.has_arcs() is True 3.7.macos-latest.c3.7.ubuntu-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

410 assert analysis.arc_possibilities() == [] 3.7.macos-latest.c3.7.ubuntu-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

411 

+

412 assert analysis.missing == {1, 2, 3, 6, 7} 3.7.macos-latest.c3.7.ubuntu-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

413 

+

414 def test_plugin2_with_text_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 self.make_render_and_caller() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

416 

+

417 cov = coverage.Coverage(branch=True, omit=["*quux*"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

418 cov.set_option("run:plugins", ["tests.plugin2"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

419 

+

420 self.start_import_stop(cov, "caller") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

421 

+

422 repout = io.StringIO() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

423 total = cov.report(file=repout, include=["*.html"], omit=["uni*.html"], show_missing=True) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

424 report = repout.getvalue().splitlines() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

425 expected = [ 3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

426 'Name Stmts Miss Branch BrPart Cover Missing', 

+

427 '--------------------------------------------------------', 

+

428 'bar_4.html 4 2 0 0 50% 1, 4', 

+

429 'foo_7.html 7 5 0 0 29% 1-3, 6-7', 

+

430 '--------------------------------------------------------', 

+

431 'TOTAL 11 7 0 0 36%', 

+

432 ] 

+

433 assert expected == report 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

434 assert math.isclose(total, 4 / 11 * 100) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

435 

+

436 def test_plugin2_with_html_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 self.make_render_and_caller() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

438 

+

439 cov = coverage.Coverage(branch=True, omit=["*quux*"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

440 cov.set_option("run:plugins", ["tests.plugin2"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

441 

+

442 self.start_import_stop(cov, "caller") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

443 

+

444 total = cov.html_report(include=["*.html"], omit=["uni*.html"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

445 assert math.isclose(total, 4 / 11 * 100) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

446 

+

447 self.assert_exists("htmlcov/index.html") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

448 self.assert_exists("htmlcov/bar_4_html.html") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

449 self.assert_exists("htmlcov/foo_7_html.html") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

450 

+

451 def test_plugin2_with_xml_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

452 self.make_render_and_caller() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

453 

+

454 cov = coverage.Coverage(branch=True, omit=["*quux*"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

455 cov.set_option("run:plugins", ["tests.plugin2"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

456 

+

457 self.start_import_stop(cov, "caller") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

458 

+

459 total = cov.xml_report(include=["*.html"], omit=["uni*.html"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

460 assert math.isclose(total, 4 / 11 * 100) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

461 

+

462 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

463 classes = {} 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

464 for elt in dom.findall(".//class"): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

465 classes[elt.get('name')] = elt 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

466 

+

467 assert classes['bar_4.html'].attrib == { 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

468 'branch-rate': '1', 

+

469 'complexity': '0', 

+

470 'filename': 'bar_4.html', 

+

471 'line-rate': '0.5', 

+

472 'name': 'bar_4.html', 

+

473 } 

+

474 assert classes['foo_7.html'].attrib == { 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

475 'branch-rate': '1', 

+

476 'complexity': '0', 

+

477 'filename': 'foo_7.html', 

+

478 'line-rate': '0.2857', 

+

479 'name': 'foo_7.html', 

+

480 } 

+

481 

+

482 def test_defer_to_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 # A plugin that measures, but then wants built-in python reporting. 

+

484 self.make_file("fairly_odd_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

485 # A plugin that claims all the odd lines are executed, and none of 

+

486 # the even lines, and then punts reporting off to the built-in 

+

487 # Python reporting. 

+

488 import coverage.plugin 

+

489 class Plugin(coverage.CoveragePlugin): 

+

490 def file_tracer(self, filename): 

+

491 return OddTracer(filename) 

+

492 def file_reporter(self, filename): 

+

493 return "python" 

+

494 

+

495 class OddTracer(coverage.plugin.FileTracer): 

+

496 def __init__(self, filename): 

+

497 self.filename = filename 

+

498 def source_filename(self): 

+

499 return self.filename 

+

500 def line_number_range(self, frame): 

+

501 lineno = frame.f_lineno 

+

502 if lineno % 2: 

+

503 return (lineno, lineno) 

+

504 else: 

+

505 return (-1, -1) 

+

506 

+

507 def coverage_init(reg, options): 

+

508 reg.add_file_tracer(Plugin()) 

+

509 """) 

+

510 self.make_file("unsuspecting.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

511 a = 1 

+

512 b = 2 

+

513 c = 3 

+

514 d = 4 

+

515 e = 5 

+

516 f = 6 

+

517 """) 

+

518 cov = coverage.Coverage(include=["unsuspecting.py"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

519 cov.set_option("run:plugins", ["fairly_odd_plugin"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

520 self.start_import_stop(cov, "unsuspecting") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

521 

+

522 repout = io.StringIO() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

523 total = cov.report(file=repout, show_missing=True) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

524 report = repout.getvalue().splitlines() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

525 expected = [ 3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

526 'Name Stmts Miss Cover Missing', 

+

527 '-----------------------------------------------', 

+

528 'unsuspecting.py 6 3 50% 2, 4, 6', 

+

529 '-----------------------------------------------', 

+

530 'TOTAL 6 3 50%', 

+

531 ] 

+

532 assert expected == report 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

533 assert total == 50 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

534 

+

535 def test_find_unexecuted(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

536 self.make_file("unexecuted_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

537 import os 

+

538 import coverage.plugin 

+

539 class Plugin(coverage.CoveragePlugin): 

+

540 def file_tracer(self, filename): 

+

541 if filename.endswith("foo.py"): 

+

542 return MyTracer(filename) 

+

543 def file_reporter(self, filename): 

+

544 return MyReporter(filename) 

+

545 def find_executable_files(self, src_dir): 

+

546 # Check that src_dir is the right value 

+

547 files = os.listdir(src_dir) 

+

548 assert "foo.py" in files 

+

549 assert "unexecuted_plugin.py" in files 

+

550 return ["chimera.py"] 

+

551 

+

552 class MyTracer(coverage.plugin.FileTracer): 

+

553 def __init__(self, filename): 

+

554 self.filename = filename 

+

555 def source_filename(self): 

+

556 return self.filename 

+

557 def line_number_range(self, frame): 

+

558 return (999, 999) 

+

559 

+

560 class MyReporter(coverage.FileReporter): 

+

561 def lines(self): 

+

562 return {99, 999, 9999} 

+

563 

+

564 def coverage_init(reg, options): 

+

565 reg.add_file_tracer(Plugin()) 

+

566 """) 

+

567 self.make_file("foo.py", "a = 1") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

568 cov = coverage.Coverage(source=['.']) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

569 cov.set_option("run:plugins", ["unexecuted_plugin"]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

570 self.start_import_stop(cov, "foo") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

571 

+

572 # The file we executed claims to have run line 999. 

+

573 _, statements, missing, _ = cov.analysis("foo.py") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

574 assert statements == [99, 999, 9999] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

575 assert missing == [99, 9999] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

576 

+

577 # The completely missing file is in the results. 

+

578 _, statements, missing, _ = cov.analysis("chimera.py") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

579 assert statements == [99, 999, 9999] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

580 assert missing == [99, 999, 9999] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

581 

+

582 # But completely new filenames are not in the results. 

+

583 assert len(cov.get_data().measured_files()) == 3 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

584 with pytest.raises(NoSource): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

585 cov.analysis("fictional.py") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

586 

+

587 

+

588class BadFileTracerTest(FileTracerTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

589 """Test error handling around file tracer plugins.""" 

+

590 

+

591 def run_plugin(self, module_name: str) -> Coverage: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

592 """Run a plugin with the given module_name. 

+

593 

+

594 Uses a few fixed Python files. 

+

595 

+

596 Returns the Coverage object. 

+

597 

+

598 """ 

+

599 self.make_file("simple.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

600 import other, another 

+

601 a = other.f(2) 

+

602 b = other.f(3) 

+

603 c = another.g(4) 

+

604 d = another.g(5) 

+

605 """) 

+

606 # The names of these files are important: some plugins apply themselves 

+

607 # to "*other.py". 

+

608 self.make_file("other.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

609 def f(x): 

+

610 return x+1 

+

611 """) 

+

612 self.make_file("another.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

613 def g(x): 

+

614 return x-1 

+

615 """) 

+

616 

+

617 cov = coverage.Coverage() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

618 cov.set_option("run:plugins", [module_name]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

619 self.start_import_stop(cov, "simple") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

620 cov.save() # pytest-cov does a save after stop, so we'll do it too. 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

621 return cov 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

622 

+

623 def run_bad_plugin( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

624 self, 

+

625 module_name: str, 

+

626 plugin_name: str, 

+

627 our_error: bool = True, 

+

628 excmsg: Optional[str] = None, 

+

629 excmsgs: Optional[List[str]] = None, 

+

630 ) -> None: 

+

631 """Run a file, and see that the plugin failed. 

+

632 

+

633 `module_name` and `plugin_name` is the module and name of the plugin to 

+

634 use. 

+

635 

+

636 `our_error` is True if the error reported to the user will be an 

+

637 explicit error in our test code, marked with an '# Oh noes!' comment. 

+

638 

+

639 `excmsg`, if provided, is text that must appear in the stderr. 

+

640 

+

641 `excmsgs`, if provided, is a list of messages, one of which must 

+

642 appear in the stderr. 

+

643 

+

644 The plugin will be disabled, and we check that a warning is output 

+

645 explaining why. 

+

646 

+

647 """ 

+

648 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

649 self.run_plugin(module_name) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

650 

+

651 stderr = self.stderr() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

652 stderr += "".join(str(w.message) for w in warns) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

653 if our_error: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

654 # The exception we're causing should only appear once. 

+

655 assert stderr.count("# Oh noes!") == 1 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

656 

+

657 # There should be a warning explaining what's happening, but only one. 

+

658 # The message can be in two forms: 

+

659 # Disabling plug-in '...' due to previous exception 

+

660 # or: 

+

661 # Disabling plug-in '...' due to an exception: 

+

662 print([str(w) for w in warns.list]) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

663 warnings = [w for w in warns.list if issubclass(w.category, CoverageWarning)] 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

664 assert len(warnings) == 1 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

665 warnmsg = str(warnings[0].message) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

666 assert f"Disabling plug-in '{module_name}.{plugin_name}' due to " in warnmsg 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

667 

+

668 if excmsg: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

669 assert excmsg in stderr 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

670 if excmsgs: 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

671 found_exc = any(em in stderr for em in excmsgs) # pragma: part covered 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

672 assert found_exc, f"expected one of {excmsgs} in stderr" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

673 

+

674 def test_file_tracer_has_no_file_tracer_method(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

676 class Plugin(object): 

+

677 pass 

+

678 

+

679 def coverage_init(reg, options): 

+

680 reg.add_file_tracer(Plugin()) 

+

681 """) 

+

682 self.run_bad_plugin("bad_plugin", "Plugin", our_error=False) 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

683 

+

684 def test_file_tracer_has_inherited_sourcefilename_method(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

686 import coverage 

+

687 class Plugin(coverage.CoveragePlugin): 

+

688 def file_tracer(self, filename): 

+

689 # Just grab everything. 

+

690 return FileTracer() 

+

691 

+

692 class FileTracer(coverage.FileTracer): 

+

693 pass 

+

694 

+

695 def coverage_init(reg, options): 

+

696 reg.add_file_tracer(Plugin()) 

+

697 """) 

+

698 self.run_bad_plugin( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

699 "bad_plugin", "Plugin", our_error=False, 

+

700 excmsg="Class 'bad_plugin.FileTracer' needs to implement source_filename()", 

+

701 ) 

+

702 

+

703 def test_plugin_has_inherited_filereporter_method(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

704 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

705 import coverage 

+

706 class Plugin(coverage.CoveragePlugin): 

+

707 def file_tracer(self, filename): 

+

708 # Just grab everything. 

+

709 return FileTracer() 

+

710 

+

711 class FileTracer(coverage.FileTracer): 

+

712 def source_filename(self): 

+

713 return "foo.xxx" 

+

714 

+

715 def coverage_init(reg, options): 

+

716 reg.add_file_tracer(Plugin()) 

+

717 """) 

+

718 cov = self.run_plugin("bad_plugin") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

719 expected_msg = "Plugin 'bad_plugin.Plugin' needs to implement file_reporter()" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

720 with pytest.raises(NotImplementedError, match=expected_msg): 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

721 cov.report() 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

722 

+

723 def test_file_tracer_fails(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

724 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

725 import coverage.plugin 

+

726 class Plugin(coverage.plugin.CoveragePlugin): 

+

727 def file_tracer(self, filename): 

+

728 17/0 # Oh noes! 

+

729 

+

730 def coverage_init(reg, options): 

+

731 reg.add_file_tracer(Plugin()) 

+

732 """) 

+

733 self.run_bad_plugin("bad_plugin", "Plugin") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

734 

+

735 def test_file_tracer_fails_eventually(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

736 # Django coverage plugin can report on a few files and then fail. 

+

737 # https://github.com/nedbat/coveragepy/issues/1011 

+

738 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

739 import os.path 

+

740 import coverage.plugin 

+

741 class Plugin(coverage.plugin.CoveragePlugin): 

+

742 def __init__(self): 

+

743 self.calls = 0 

+

744 

+

745 def file_tracer(self, filename): 

+

746 print(filename) 

+

747 self.calls += 1 

+

748 if self.calls <= 2: 

+

749 return FileTracer(filename) 

+

750 else: 

+

751 17/0 # Oh noes! 

+

752 

+

753 class FileTracer(coverage.FileTracer): 

+

754 def __init__(self, filename): 

+

755 self.filename = filename 

+

756 def source_filename(self): 

+

757 return os.path.basename(self.filename).replace(".py", ".foo") 

+

758 def line_number_range(self, frame): 

+

759 return -1, -1 

+

760 

+

761 def coverage_init(reg, options): 

+

762 reg.add_file_tracer(Plugin()) 

+

763 """) 

+

764 self.run_bad_plugin("bad_plugin", "Plugin") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

765 

+

766 def test_file_tracer_returns_wrong(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

767 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

768 import coverage.plugin 

+

769 class Plugin(coverage.plugin.CoveragePlugin): 

+

770 def file_tracer(self, filename): 

+

771 return 3.14159 

+

772 

+

773 def coverage_init(reg, options): 

+

774 reg.add_file_tracer(Plugin()) 

+

775 """) 

+

776 self.run_bad_plugin( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

777 "bad_plugin", "Plugin", our_error=False, excmsg="'float' object has no attribute", 

+

778 ) 

+

779 

+

780 def test_has_dynamic_source_filename_fails(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

781 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

782 import coverage.plugin 

+

783 class Plugin(coverage.plugin.CoveragePlugin): 

+

784 def file_tracer(self, filename): 

+

785 return BadFileTracer() 

+

786 

+

787 class BadFileTracer(coverage.plugin.FileTracer): 

+

788 def has_dynamic_source_filename(self): 

+

789 23/0 # Oh noes! 

+

790 

+

791 def coverage_init(reg, options): 

+

792 reg.add_file_tracer(Plugin()) 

+

793 """) 

+

794 self.run_bad_plugin("bad_plugin", "Plugin") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

795 

+

796 def test_source_filename_fails(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

797 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

798 import coverage.plugin 

+

799 class Plugin(coverage.plugin.CoveragePlugin): 

+

800 def file_tracer(self, filename): 

+

801 return BadFileTracer() 

+

802 

+

803 class BadFileTracer(coverage.plugin.FileTracer): 

+

804 def source_filename(self): 

+

805 42/0 # Oh noes! 

+

806 

+

807 def coverage_init(reg, options): 

+

808 reg.add_file_tracer(Plugin()) 

+

809 """) 

+

810 self.run_bad_plugin("bad_plugin", "Plugin") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

811 

+

812 def test_source_filename_returns_wrong(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

813 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

814 import coverage.plugin 

+

815 class Plugin(coverage.plugin.CoveragePlugin): 

+

816 def file_tracer(self, filename): 

+

817 return BadFileTracer() 

+

818 

+

819 class BadFileTracer(coverage.plugin.FileTracer): 

+

820 def source_filename(self): 

+

821 return 17.3 

+

822 

+

823 def coverage_init(reg, options): 

+

824 reg.add_file_tracer(Plugin()) 

+

825 """) 

+

826 self.run_bad_plugin( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

827 "bad_plugin", "Plugin", our_error=False, 

+

828 excmsgs=[ 

+

829 "expected str, bytes or os.PathLike object, not float", 

+

830 "'float' object has no attribute", 

+

831 "object of type 'float' has no len()", 

+

832 "'float' object is unsubscriptable", 

+

833 ], 

+

834 ) 

+

835 

+

836 def test_dynamic_source_filename_fails(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

837 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

838 import coverage.plugin 

+

839 class Plugin(coverage.plugin.CoveragePlugin): 

+

840 def file_tracer(self, filename): 

+

841 if filename.endswith("other.py"): 

+

842 return BadFileTracer() 

+

843 

+

844 class BadFileTracer(coverage.plugin.FileTracer): 

+

845 def has_dynamic_source_filename(self): 

+

846 return True 

+

847 def dynamic_source_filename(self, filename, frame): 

+

848 101/0 # Oh noes! 

+

849 

+

850 def coverage_init(reg, options): 

+

851 reg.add_file_tracer(Plugin()) 

+

852 """) 

+

853 self.run_bad_plugin("bad_plugin", "Plugin") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

854 

+

855 def test_line_number_range_raises_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

856 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

857 import coverage.plugin 

+

858 class Plugin(coverage.plugin.CoveragePlugin): 

+

859 def file_tracer(self, filename): 

+

860 if filename.endswith("other.py"): 

+

861 return BadFileTracer() 

+

862 

+

863 class BadFileTracer(coverage.plugin.FileTracer): 

+

864 def source_filename(self): 

+

865 return "something.foo" 

+

866 

+

867 def line_number_range(self, frame): 

+

868 raise Exception("borked!") 

+

869 

+

870 def coverage_init(reg, options): 

+

871 reg.add_file_tracer(Plugin()) 

+

872 """) 

+

873 self.run_bad_plugin( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

874 "bad_plugin", "Plugin", our_error=False, excmsg="borked!", 

+

875 ) 

+

876 

+

877 def test_line_number_range_returns_non_tuple(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

878 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

879 import coverage.plugin 

+

880 class Plugin(coverage.plugin.CoveragePlugin): 

+

881 def file_tracer(self, filename): 

+

882 if filename.endswith("other.py"): 

+

883 return BadFileTracer() 

+

884 

+

885 class BadFileTracer(coverage.plugin.FileTracer): 

+

886 def source_filename(self): 

+

887 return "something.foo" 

+

888 

+

889 def line_number_range(self, frame): 

+

890 return 42.23 

+

891 

+

892 def coverage_init(reg, options): 

+

893 reg.add_file_tracer(Plugin()) 

+

894 """) 

+

895 self.run_bad_plugin( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

896 "bad_plugin", "Plugin", our_error=False, excmsg="line_number_range must return 2-tuple", 

+

897 ) 

+

898 

+

899 def test_line_number_range_returns_triple(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

900 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

901 import coverage.plugin 

+

902 class Plugin(coverage.plugin.CoveragePlugin): 

+

903 def file_tracer(self, filename): 

+

904 if filename.endswith("other.py"): 

+

905 return BadFileTracer() 

+

906 

+

907 class BadFileTracer(coverage.plugin.FileTracer): 

+

908 def source_filename(self): 

+

909 return "something.foo" 

+

910 

+

911 def line_number_range(self, frame): 

+

912 return (1, 2, 3) 

+

913 

+

914 def coverage_init(reg, options): 

+

915 reg.add_file_tracer(Plugin()) 

+

916 """) 

+

917 self.run_bad_plugin( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

918 "bad_plugin", "Plugin", our_error=False, excmsg="line_number_range must return 2-tuple", 

+

919 ) 

+

920 

+

921 def test_line_number_range_returns_pair_of_strings(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

922 self.make_file("bad_plugin.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

923 import coverage.plugin 

+

924 class Plugin(coverage.plugin.CoveragePlugin): 

+

925 def file_tracer(self, filename): 

+

926 if filename.endswith("other.py"): 

+

927 return BadFileTracer() 

+

928 

+

929 class BadFileTracer(coverage.plugin.FileTracer): 

+

930 def source_filename(self): 

+

931 return "something.foo" 

+

932 

+

933 def line_number_range(self, frame): 

+

934 return ("5", "7") 

+

935 

+

936 def coverage_init(reg, options): 

+

937 reg.add_file_tracer(Plugin()) 

+

938 """) 

+

939 self.run_bad_plugin( 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

940 "bad_plugin", "Plugin", our_error=False, 

+

941 excmsgs=[ 

+

942 "an integer is required", 

+

943 "cannot be interpreted as an integer", 

+

944 ], 

+

945 ) 

+

946 

+

947 

+

948class ConfigurerPluginTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

949 """Test configuring plugins.""" 

+

950 

+

951 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

952 

+

953 def test_configurer_plugin(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

954 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

955 cov.set_option("run:plugins", ["tests.plugin_config"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

956 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

957 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

958 excluded = cov.get_option("report:exclude_lines") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

959 assert isinstance(excluded, list) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

960 assert "pragma: custom" in excluded 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

961 assert "pragma: or whatever" in excluded 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

962 

+

963 

+

964class DynamicContextPluginTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

965 """Tests of plugins that implement `dynamic_context`.""" 

+

966 

+

967 def make_plugin_capitalized_testnames(self, filename: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

968 """Create a dynamic context plugin that capitalizes the part after 'test_'.""" 

+

969 self.make_file(filename, """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

970 from coverage import CoveragePlugin 

+

971 

+

972 class Plugin(CoveragePlugin): 

+

973 def dynamic_context(self, frame): 

+

974 name = frame.f_code.co_name 

+

975 if name.startswith(("test_", "doctest_")): 

+

976 parts = name.split("_", 1) 

+

977 return "%s:%s" % (parts[0], parts[1].upper()) 

+

978 return None 

+

979 

+

980 def coverage_init(reg, options): 

+

981 reg.add_dynamic_context(Plugin()) 

+

982 """) 

+

983 

+

984 def make_plugin_track_render(self, filename: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

985 """Make a dynamic context plugin that tracks 'render_' functions.""" 

+

986 self.make_file(filename, """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

987 from coverage import CoveragePlugin 

+

988 

+

989 class Plugin(CoveragePlugin): 

+

990 def dynamic_context(self, frame): 

+

991 name = frame.f_code.co_name 

+

992 if name.startswith("render_"): 

+

993 return 'renderer:' + name[7:] 

+

994 return None 

+

995 

+

996 def coverage_init(reg, options): 

+

997 reg.add_dynamic_context(Plugin()) 

+

998 """) 

+

999 

+

1000 def make_test_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1001 """Make some files to use while testing dynamic context plugins.""" 

+

1002 self.make_file("rendering.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1003 def html_tag(tag, content): 

+

1004 return f'<{tag}>{content}</{tag}>' 

+

1005 

+

1006 def render_paragraph(text): 

+

1007 return html_tag('p', text) 

+

1008 

+

1009 def render_span(text): 

+

1010 return html_tag('span', text) 

+

1011 

+

1012 def render_bold(text): 

+

1013 return html_tag('b', text) 

+

1014 """) 

+

1015 

+

1016 self.make_file("testsuite.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1017 import rendering 

+

1018 

+

1019 def test_html_tag() -> None: 

+

1020 assert rendering.html_tag('b', 'hello') == '<b>hello</b>' 

+

1021 

+

1022 def doctest_html_tag(): 

+

1023 assert eval(''' 

+

1024 rendering.html_tag('i', 'text') == '<i>text</i>' 

+

1025 '''.strip()) 

+

1026 

+

1027 def test_renderers() -> None: 

+

1028 assert rendering.render_paragraph('hello') == '<p>hello</p>' 

+

1029 assert rendering.render_bold('wide') == '<b>wide</b>' 

+

1030 assert rendering.render_span('world') == '<span>world</span>' 

+

1031 

+

1032 def build_full_html(): 

+

1033 html = '<html><body>%s</body></html>' % ( 

+

1034 rendering.render_paragraph( 

+

1035 rendering.render_span('hello'))) 

+

1036 return html 

+

1037 """) 

+

1038 

+

1039 def run_all_functions(self, cov: Coverage, suite_name: str) -> None: # pragma: nested 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1040 """Run all functions in `suite_name` under coverage.""" 

+

1041 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1042 suite = import_local_file(suite_name) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1043 try: 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1044 # Call all functions in this module 

+

1045 for name in dir(suite): 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1046 variable = getattr(suite, name) 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1047 if inspect.isfunction(variable): 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1048 variable() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1049 finally: 

+

1050 cov.stop() 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1051 

+

1052 def test_plugin_standalone(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1053 self.make_plugin_capitalized_testnames('plugin_tests.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1054 self.make_test_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1055 

+

1056 # Enable dynamic context plugin 

+

1057 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1058 cov.set_option("run:plugins", ['plugin_tests']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1059 

+

1060 # Run the tests 

+

1061 self.run_all_functions(cov, 'testsuite') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1062 

+

1063 # Labeled coverage is collected 

+

1064 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1065 filenames = self.get_measured_filenames(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1066 expected = ['', 'doctest:HTML_TAG', 'test:HTML_TAG', 'test:RENDERERS'] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1067 assert expected == sorted(data.measured_contexts()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1068 data.set_query_context("doctest:HTML_TAG") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1069 assert [2] == sorted_lines(data, filenames['rendering.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1070 data.set_query_context("test:HTML_TAG") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1071 assert [2] == sorted_lines(data, filenames['rendering.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1072 data.set_query_context("test:RENDERERS") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1073 assert [2, 5, 8, 11] == sorted_lines(data, filenames['rendering.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1074 

+

1075 def test_static_context(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1076 self.make_plugin_capitalized_testnames('plugin_tests.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1077 self.make_test_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1078 

+

1079 # Enable dynamic context plugin for coverage with named context 

+

1080 cov = coverage.Coverage(context='mytests') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1081 cov.set_option("run:plugins", ['plugin_tests']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1082 

+

1083 # Run the tests 

+

1084 self.run_all_functions(cov, 'testsuite') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1085 

+

1086 # Static context prefix is preserved 

+

1087 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1088 expected = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1089 'mytests', 

+

1090 'mytests|doctest:HTML_TAG', 

+

1091 'mytests|test:HTML_TAG', 

+

1092 'mytests|test:RENDERERS', 

+

1093 ] 

+

1094 assert expected == sorted(data.measured_contexts()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1095 

+

1096 def test_plugin_with_test_function(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1097 self.make_plugin_capitalized_testnames('plugin_tests.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1098 self.make_test_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1099 

+

1100 # Enable both a plugin and test_function dynamic context 

+

1101 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1102 cov.set_option("run:plugins", ['plugin_tests']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1103 cov.set_option("run:dynamic_context", "test_function") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1104 

+

1105 # Run the tests 

+

1106 self.run_all_functions(cov, 'testsuite') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1107 

+

1108 # test_function takes precedence over plugins - only 

+

1109 # functions that are not labeled by test_function are 

+

1110 # labeled by plugin_tests. 

+

1111 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1112 filenames = self.get_measured_filenames(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1113 expected = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1114 '', 

+

1115 'doctest:HTML_TAG', 

+

1116 'testsuite.test_html_tag', 

+

1117 'testsuite.test_renderers', 

+

1118 ] 

+

1119 assert expected == sorted(data.measured_contexts()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1120 

+

1121 def assert_context_lines(context: str, lines: List[TLineNo]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1122 data.set_query_context(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1123 assert lines == sorted_lines(data, filenames['rendering.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1124 

+

1125 assert_context_lines("doctest:HTML_TAG", [2]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1126 assert_context_lines("testsuite.test_html_tag", [2]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1127 assert_context_lines("testsuite.test_renderers", [2, 5, 8, 11]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1128 

+

1129 def test_multiple_plugins(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1130 self.make_plugin_capitalized_testnames('plugin_tests.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1131 self.make_plugin_track_render('plugin_renderers.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1132 self.make_test_files() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1133 

+

1134 # Enable two plugins 

+

1135 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1136 cov.set_option("run:plugins", ['plugin_renderers', 'plugin_tests']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1137 

+

1138 self.run_all_functions(cov, 'testsuite') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1139 

+

1140 # It is important to note, that line 11 (render_bold function) is never 

+

1141 # labeled as renderer:bold context, because it is only called from 

+

1142 # test_renderers function - so it already falls under test:RENDERERS 

+

1143 # context. 

+

1144 # 

+

1145 # render_paragraph and render_span (lines 5, 8) are directly called by 

+

1146 # testsuite.build_full_html, so they get labeled by renderers plugin. 

+

1147 data = cov.get_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1148 filenames = self.get_measured_filenames(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1149 expected = [ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1150 '', 

+

1151 'doctest:HTML_TAG', 

+

1152 'renderer:paragraph', 

+

1153 'renderer:span', 

+

1154 'test:HTML_TAG', 

+

1155 'test:RENDERERS', 

+

1156 ] 

+

1157 assert expected == sorted(data.measured_contexts()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1158 

+

1159 def assert_context_lines(context: str, lines: List[TLineNo]) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1160 data.set_query_context(context) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1161 assert lines == sorted_lines(data, filenames['rendering.py']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1162 

+

1163 assert_context_lines("test:HTML_TAG", [2]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1164 assert_context_lines("test:RENDERERS", [2, 5, 8, 11]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1165 assert_context_lines("doctest:HTML_TAG", [2]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1166 assert_context_lines("renderer:paragraph", [2, 5]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1167 assert_context_lines("renderer:span", [2, 8]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_process_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_process_py.html new file mode 100644 index 000000000..88895424f --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_process_py.html @@ -0,0 +1,1381 @@ + + + + + Coverage for tests/test_process.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_process.py: + 100.000% +

+ +

+ 492 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for process behavior of coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import stat 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import textwrap 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from typing import Any 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.data import line_counts 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.files import abs_file, python_reported_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25from tests.coveragetest import CoverageTest, TESTS_DIR 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from tests.helpers import re_lines_text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 

+

28 

+

29class ProcessTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 """Tests of the per-process behavior of coverage.py.""" 

+

31 

+

32 def test_save_on_exit(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 self.make_file("mycode.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 h = "Hello" 

+

35 w = "world" 

+

36 """) 

+

37 

+

38 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 self.run_command("coverage run mycode.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 

+

42 def test_tests_dir_is_importable(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 # Checks that we can import modules from the tests directory at all! 

+

44 self.make_file("mycode.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 import covmod1 

+

46 import covmodzip1 

+

47 a = 1 

+

48 print('done') 

+

49 """) 

+

50 

+

51 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 out = self.run_command("coverage run mycode.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 assert out == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 def test_coverage_run_envvar_is_in_coveragerun(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 # Test that we are setting COVERAGE_RUN when we run. 

+

58 self.make_file("envornot.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 import os 

+

60 print(os.environ.get("COVERAGE_RUN", "nope")) 

+

61 """) 

+

62 self.del_environ("COVERAGE_RUN") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 # Regular Python doesn't have the environment variable. 

+

64 out = self.run_command("python envornot.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 assert out == "nope\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 self.del_environ("COVERAGE_RUN") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 # But `coverage run` does have it. 

+

68 out = self.run_command("coverage run envornot.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 assert out == "true\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 

+

71 def make_b_or_c_py(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 """Create b_or_c.py, used in a few of these tests.""" 

+

73 # "b_or_c.py b" will run 6 lines. 

+

74 # "b_or_c.py c" will run 7 lines. 

+

75 # Together, they run 8 lines. 

+

76 self.make_file("b_or_c.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 import sys 

+

78 a = 2 

+

79 if sys.argv[1] == 'b': 

+

80 b = 4 

+

81 else: 

+

82 c = 6 

+

83 c2 = 7 

+

84 d = 8 

+

85 print('done') 

+

86 """) 

+

87 

+

88 def test_append_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 

+

91 out = self.run_command("coverage run b_or_c.py b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 assert out == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96 out = self.run_command("coverage run --append b_or_c.py c") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 assert out == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 

+

101 # Read the coverage file and see that b_or_c.py has all 8 lines 

+

102 # executed. 

+

103 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 assert line_counts(data)['b_or_c.py'] == 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 

+

107 def test_append_data_with_different_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 

+

110 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 [run] 

+

112 data_file = .mycovdata 

+

113 """) 

+

114 

+

115 out = self.run_command("coverage run b_or_c.py b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 assert out == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 self.assert_exists(".mycovdata") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 

+

120 out = self.run_command("coverage run --append b_or_c.py c") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 assert out == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 self.assert_exists(".mycovdata") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 

+

125 # Read the coverage file and see that b_or_c.py has all 8 lines 

+

126 # executed. 

+

127 data = coverage.CoverageData(".mycovdata") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 assert line_counts(data)['b_or_c.py'] == 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 

+

131 def test_append_can_create_a_data_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

132 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 

+

134 out = self.run_command("coverage run --append b_or_c.py b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 assert out == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 

+

139 # Read the coverage file and see that b_or_c.py has only 6 lines 

+

140 # executed. 

+

141 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 assert line_counts(data)['b_or_c.py'] == 6 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 

+

145 def test_combine_with_rc(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 self.make_b_or_c_py() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 [run] 

+

150 source = . 

+

151 parallel = true 

+

152 """) 

+

153 

+

154 out = self.run_command("coverage run b_or_c.py b") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 assert out == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 

+

158 out = self.run_command("coverage run b_or_c.py c") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 assert out == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 

+

162 # After two runs, there should be two .coverage.machine.123 files. 

+

163 self.assert_file_count(".coverage.*", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 

+

165 # Combine the parallel coverage data files into .coverage . 

+

166 self.run_command("coverage combine") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 self.assert_exists(".coveragerc") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 

+

170 # After combining, there should be only the .coverage file. 

+

171 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 

+

173 # Read the coverage file and see that b_or_c.py has all 8 lines 

+

174 # executed. 

+

175 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 assert line_counts(data)['b_or_c.py'] == 8 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 

+

179 # Reporting should still work even with the .rc file 

+

180 out = self.run_command("coverage report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 assert out == textwrap.dedent("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 Name Stmts Miss Cover 

+

183 ------------------------------- 

+

184 b_or_c.py 8 0 100% 

+

185 ------------------------------- 

+

186 TOTAL 8 0 100% 

+

187 """) 

+

188 

+

189 def test_combine_with_aliases(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 self.make_file("d1/x.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 a = 1 

+

192 b = 2 

+

193 print(f"{a} {b}") 

+

194 """) 

+

195 

+

196 self.make_file("d2/x.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 # 1 

+

198 # 2 

+

199 # 3 

+

200 c = 4 

+

201 d = 5 

+

202 print(f"{c} {d}") 

+

203 """) 

+

204 

+

205 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 [run] 

+

207 source = . 

+

208 parallel = True 

+

209 

+

210 [paths] 

+

211 source = 

+

212 src 

+

213 */d1 

+

214 */d2 

+

215 """) 

+

216 

+

217 out = self.run_command("coverage run " + os.path.normpath("d1/x.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 assert out == '1 2\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 out = self.run_command("coverage run " + os.path.normpath("d2/x.py")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 assert out == '4 5\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 

+

222 self.assert_file_count(".coverage.*", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 

+

224 self.make_file("src/x.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 

+

226 self.run_command("coverage combine") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 

+

229 # After combining, there should be only the .coverage file. 

+

230 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 

+

232 # Read the coverage data file and see that the two different x.py 

+

233 # files have been combined together. 

+

234 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

235 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

236 summary = line_counts(data, fullpath=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 assert len(summary) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 actual = abs_file(list(summary.keys())[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 expected = abs_file('src/x.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 assert expected == actual 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 assert list(summary.values())[0] == 6 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 

+

243 def test_erase_parallel(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 [run] 

+

246 data_file = data.dat 

+

247 parallel = True 

+

248 """) 

+

249 self.make_file("data.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 self.make_file("data.dat.fooey") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 self.make_file("data.dat.gooey") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 self.make_file(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 

+

254 self.run_command("coverage erase") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 self.assert_doesnt_exist("data.dat") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 self.assert_doesnt_exist("data.dat.fooey") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 self.assert_doesnt_exist("data.dat.gooey") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 

+

260 def test_missing_source_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 # Check what happens if the source is missing when reporting happens. 

+

262 self.make_file("fleeting.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 s = 'goodbye, cruel world!' 

+

264 """) 

+

265 

+

266 self.run_command("coverage run fleeting.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 os.remove("fleeting.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 out = self.run_command("coverage html -d htmlcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 assert re.search("No source for code: '.*fleeting.py'", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 assert "Traceback" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 # It happens that the code paths are different for *.py and other 

+

273 # files, so try again with no extension. 

+

274 self.make_file("fleeting", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 s = 'goodbye, cruel world!' 

+

276 """) 

+

277 

+

278 self.run_command("coverage run fleeting") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 os.remove("fleeting") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 status, out = self.run_command_status("coverage html -d htmlcov") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 assert re.search("No source for code: '.*fleeting'", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 assert "Traceback" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 assert status == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 

+

285 def test_running_missing_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 status, out = self.run_command_status("coverage run xyzzy.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 assert re.search("No file to run: .*xyzzy.py", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 assert "raceback" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 assert "rror" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 assert status == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 

+

292 def test_code_throws(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 self.make_file("throw.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 class MyException(Exception): 

+

295 pass 

+

296 

+

297 def f1(): 

+

298 raise MyException("hey!") 

+

299 

+

300 def f2(): 

+

301 f1() 

+

302 

+

303 f2() 

+

304 """) 

+

305 

+

306 # The important thing is for "coverage run" and "python" to report the 

+

307 # same traceback. 

+

308 status, out = self.run_command_status("coverage run throw.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 out2 = self.run_command("python throw.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 if env.PYPY: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 # PyPy has an extra frame in the traceback for some reason 

+

312 out2 = re_lines_text("toplevel", out2, match=False) pypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 assert out == out2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 

+

315 # But also make sure that the output is what we expect. 

+

316 path = python_reported_file('throw.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 msg = f'File "{re.escape(path)}", line 8, in f2' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 assert re.search(msg, out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 assert 'raise MyException("hey!")' in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 assert status == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 

+

322 def test_code_exits(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 self.make_file("exit.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 import sys 

+

325 def f1(): 

+

326 print("about to exit..") 

+

327 sys.exit(17) 

+

328 

+

329 def f2(): 

+

330 f1() 

+

331 

+

332 f2() 

+

333 """) 

+

334 

+

335 # The important thing is for "coverage run" and "python" to have the 

+

336 # same output. No traceback. 

+

337 status, out = self.run_command_status("coverage run exit.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

338 status2, out2 = self.run_command_status("python exit.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 assert out == out2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 assert out == "about to exit..\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 assert status == status2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 assert status == 17 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 

+

344 def test_code_exits_no_arg(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 self.make_file("exit_none.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 import sys 

+

347 def f1(): 

+

348 print("about to exit quietly..") 

+

349 sys.exit() 

+

350 

+

351 f1() 

+

352 """) 

+

353 status, out = self.run_command_status("coverage run exit_none.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 status2, out2 = self.run_command_status("python exit_none.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 assert out == out2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 assert out == "about to exit quietly..\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 assert status == status2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

358 assert status == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 

+

360 @pytest.mark.skipif(not hasattr(os, "fork"), reason="Can't test os.fork, it doesn't exist.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 def test_fork(self) -> None: 

+

362 self.make_file("fork.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 import os 

+

364 

+

365 def child(): 

+

366 print('Child!') 

+

367 

+

368 def main(): 

+

369 ret = os.fork() 

+

370 

+

371 if ret == 0: 

+

372 child() 

+

373 else: 

+

374 os.waitpid(ret, 0) 

+

375 

+

376 main() 

+

377 """) 

+

378 

+

379 out = self.run_command("coverage run -p fork.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

380 assert out == 'Child!\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

381 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 

+

383 # After running the forking program, there should be two 

+

384 # .coverage.machine.123 files. 

+

385 self.assert_file_count(".coverage.*", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 

+

387 # The two data files should have different random numbers at the end of 

+

388 # the file name. 

+

389 data_files = glob.glob(".coverage.*") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 nums = {name.rpartition(".")[-1] for name in data_files} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

391 assert len(nums) == 2, f"Same random: {data_files}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

392 

+

393 # Combine the parallel coverage data files into .coverage . 

+

394 self.run_command("coverage combine") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

395 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 

+

397 # After combining, there should be only the .coverage file. 

+

398 self.assert_file_count(".coverage.*", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

399 

+

400 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 assert line_counts(data)['fork.py'] == 9 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 

+

404 def test_warnings_during_reporting(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 # While fixing issue #224, the warnings were being printed far too 

+

406 # often. Make sure they're not any more. 

+

407 self.make_file("hello.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 import sys, os, the_other 

+

409 print("Hello") 

+

410 """) 

+

411 self.make_file("the_other.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

412 print("What?") 

+

413 """) 

+

414 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 [run] 

+

416 source = 

+

417 . 

+

418 xyzzy 

+

419 """) 

+

420 

+

421 self.run_command("coverage run hello.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 out = self.run_command("coverage html") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

423 assert out.count("Module xyzzy was never imported.") == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 

+

425 def test_warns_if_never_run(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 # Note: the name of the function can't have "warning" in it, or the 

+

427 # absolute path of the file will have "warning" in it, and an assertion 

+

428 # will fail. 

+

429 out = self.run_command("coverage run i_dont_exist.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 path = python_reported_file('i_dont_exist.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 assert f"No file to run: '{path}'" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 assert "warning" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 assert "Exception" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

434 

+

435 out = self.run_command("coverage run -m no_such_module") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

436 assert ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 ("No module named no_such_module" in out) or 

+

438 ("No module named 'no_such_module'" in out) 

+

439 ) 

+

440 assert "warning" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

441 assert "Exception" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 

+

443 @pytest.mark.skipif(env.METACOV, reason="Can't test tracers changing during metacoverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444 def test_warnings_trace_function_changed_with_threads(self) -> None: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 # https://github.com/nedbat/coveragepy/issues/164 

+

446 

+

447 self.make_file("bug164.py", """\ 

+

448 import threading 

+

449 import time 

+

450 

+

451 class MyThread (threading.Thread): 

+

452 def run(self): 

+

453 print("Hello") 

+

454 

+

455 thr = MyThread() 

+

456 thr.start() 

+

457 thr.join() 

+

458 """) 

+

459 out = self.run_command("coverage run --timid bug164.py") 

+

460 

+

461 assert "Hello\n" in out 

+

462 assert "warning" not in out 

+

463 

+

464 def test_warning_trace_function_changed(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

465 self.make_file("settrace.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

466 import sys 

+

467 print("Hello") 

+

468 sys.settrace(None) 

+

469 print("Goodbye") 

+

470 """) 

+

471 out = self.run_command("coverage run --timid settrace.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

472 assert "Hello\n" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

473 assert "Goodbye\n" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 

+

475 assert "Trace function changed" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

476 

+

477 # When meta-coverage testing, this test doesn't work, because it finds 

+

478 # coverage.py's own trace function. 

+

479 @pytest.mark.skipif(env.METACOV, reason="Can't test timid during coverage measurement.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 def test_timid(self) -> None: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

481 # Test that the --timid command line argument properly swaps the tracer 

+

482 # function for a simpler one. 

+

483 # 

+

484 # This is complicated by the fact that the tests are run twice for each 

+

485 # version: once with a compiled C-based trace function, and once without 

+

486 # it, to also test the Python trace function. So this test has to examine 

+

487 # an environment variable set in igor.py to know whether to expect to see 

+

488 # the C trace function or not. 

+

489 

+

490 self.make_file("showtrace.py", """\ 

+

491 # Show the current frame's trace function, so that we can test what the 

+

492 # command-line options do to the trace function used. 

+

493 

+

494 import sys 

+

495 

+

496 # Show what the trace function is. If a C-based function is used, then f_trace 

+

497 # may be None. 

+

498 trace_fn = sys._getframe(0).f_trace 

+

499 if trace_fn is None: 

+

500 trace_name = "None" 

+

501 else: 

+

502 # Get the name of the tracer class. Py3k has a different way to get it. 

+

503 try: 

+

504 trace_name = trace_fn.im_class.__name__ 

+

505 except AttributeError: 

+

506 try: 

+

507 trace_name = trace_fn.__self__.__class__.__name__ 

+

508 except AttributeError: 

+

509 # A C-based function could also manifest as an f_trace value 

+

510 # which doesn't have im_class or __self__. 

+

511 trace_name = trace_fn.__class__.__name__ 

+

512 

+

513 print(trace_name) 

+

514 """) 

+

515 

+

516 # When running without coverage, no trace function 

+

517 py_out = self.run_command("python showtrace.py") 

+

518 assert py_out == "None\n" 

+

519 

+

520 cov_out = self.run_command("coverage run showtrace.py") 

+

521 if os.environ.get('COVERAGE_TEST_TRACER', 'c') == 'c': 

+

522 # If the C trace function is being tested, then regular running should have 

+

523 # the C function, which registers itself as f_trace. 

+

524 assert cov_out == "CTracer\n" 

+

525 else: 

+

526 # If the Python trace function is being tested, then regular running will 

+

527 # also show the Python function. 

+

528 assert cov_out == "PyTracer\n" 

+

529 

+

530 # When running timidly, the trace function is always Python. 

+

531 timid_out = self.run_command("coverage run --timid showtrace.py") 

+

532 assert timid_out == "PyTracer\n" 

+

533 

+

534 def test_warn_preimported(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

535 self.make_file("hello.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

536 import goodbye 

+

537 import coverage 

+

538 cov = coverage.Coverage(include=["good*"], check_preimported=True) 

+

539 cov.start() 

+

540 print(goodbye.f()) 

+

541 cov.stop() 

+

542 """) 

+

543 self.make_file("goodbye.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

544 def f(): 

+

545 return "Goodbye!" 

+

546 """) 

+

547 goodbye_path = os.path.abspath("goodbye.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

548 

+

549 out = self.run_command("python hello.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

550 assert "Goodbye!" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

551 

+

552 msg = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 f"CoverageWarning: Already imported a file that will be measured: {goodbye_path} " + 

+

554 "(already-imported)" 

+

555 ) 

+

556 assert msg in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

557 

+

558 @pytest.mark.expensive 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

559 @pytest.mark.skipif(not env.C_TRACER, reason="fullcoverage only works with the C tracer.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

560 @pytest.mark.skipif(env.METACOV, reason="Can't test fullcoverage when measuring ourselves") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

561 def test_fullcoverage(self) -> None: 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

562 # fullcoverage is a trick to get stdlib modules measured from 

+

563 # the very beginning of the process. Here we import os and 

+

564 # then check how many lines are measured. 

+

565 self.make_file("getenv.py", """\ 

+

566 import os 

+

567 print("FOOEY == %s" % os.getenv("FOOEY")) 

+

568 """) 

+

569 

+

570 fullcov = os.path.join(os.path.dirname(coverage.__file__), "fullcoverage") 

+

571 self.set_environ("FOOEY", "BOO") 

+

572 self.set_environ("PYTHONPATH", fullcov) 

+

573 out = self.run_command("python -X frozen_modules=off -m coverage run -L getenv.py") 

+

574 assert out == "FOOEY == BOO\n" 

+

575 data = coverage.CoverageData() 

+

576 data.read() 

+

577 # The actual number of executed lines in os.py when it's 

+

578 # imported is 120 or so. Just running os.getenv executes 

+

579 # about 5. 

+

580 assert line_counts(data)['os.py'] > 50 

+

581 

+

582 # Pypy passes locally, but fails in CI? Perhaps the version of macOS is 

+

583 # significant? https://foss.heptapod.net/pypy/pypy/-/issues/3074 

+

584 @pytest.mark.skipif(env.PYPY, reason="PyPy is unreliable with this test") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

585 def test_lang_c(self) -> None: 

+

586 # LANG=C forces getfilesystemencoding on Linux to 'ascii', which causes 

+

587 # failures with non-ascii file names. We don't want to make a real file 

+

588 # with strange characters, though, because that gets the test runners 

+

589 # tangled up. This will isolate the concerns to the coverage.py code. 

+

590 # https://github.com/nedbat/coveragepy/issues/533 

+

591 self.make_file("weird_file.py", r""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

592 globs = {} 

+

593 code = "a = 1\nb = 2\n" 

+

594 exec(compile(code, "wut\xe9\xea\xeb\xec\x01\x02.py", 'exec'), globs) 

+

595 print(globs['a']) 

+

596 print(globs['b']) 

+

597 """) 

+

598 self.set_environ("LANG", "C") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

599 out = self.run_command("coverage run weird_file.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

600 assert out == "1\n2\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

601 

+

602 def test_deprecation_warnings(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

603 # Test that coverage doesn't trigger deprecation warnings. 

+

604 # https://github.com/nedbat/coveragepy/issues/305 

+

605 self.make_file("allok.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

606 import warnings 

+

607 warnings.simplefilter('default') 

+

608 import coverage 

+

609 print("No warnings!") 

+

610 """) 

+

611 

+

612 # Some of our testing infrastructure can issue warnings. 

+

613 # Turn it all off for the sub-process. 

+

614 self.del_environ("COVERAGE_TESTING") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

615 

+

616 out = self.run_command("python allok.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

617 assert out == "No warnings!\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

618 

+

619 def test_run_twice(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

620 # https://github.com/nedbat/coveragepy/issues/353 

+

621 self.make_file("foo.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

622 def foo(): 

+

623 pass 

+

624 """) 

+

625 self.make_file("run_twice.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

626 import sys 

+

627 import coverage 

+

628 

+

629 for i in [1, 2]: 

+

630 sys.stderr.write(f"Run {i}\\n") 

+

631 inst = coverage.Coverage(source=['foo']) 

+

632 inst.load() 

+

633 inst.start() 

+

634 import foo 

+

635 inst.stop() 

+

636 inst.save() 

+

637 """) 

+

638 out = self.run_command("python run_twice.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 # Remove the file location and source line from the warning. 

+

640 out = re.sub(r"(?m)^[\\/\w.:~_-]+:\d+: CoverageWarning: ", "f:d: CoverageWarning: ", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

641 out = re.sub(r"(?m)^\s+self.warn.*$\n", "", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

642 expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

643 "Run 1\n" + 

+

644 "Run 2\n" + 

+

645 "f:d: CoverageWarning: Module foo was previously imported, but not measured " + 

+

646 "(module-not-measured)\n" 

+

647 ) 

+

648 assert expected == out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

649 

+

650 def test_module_name(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

651 # https://github.com/nedbat/coveragepy/issues/478 

+

652 # Make sure help doesn't show a silly command name when run as a 

+

653 # module, like it used to: 

+

654 # $ python -m coverage 

+

655 # Code coverage for Python. Use '__main__.py help' for help. 

+

656 out = self.run_command("python -m coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 assert "Use 'coverage help' for help" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

658 

+

659 

+

660TRY_EXECFILE = os.path.join(os.path.dirname(__file__), "modules/process_test/try_execfile.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

661 

+

662class EnvironmentTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

663 """Tests using try_execfile.py to test the execution environment.""" 

+

664 

+

665 def assert_tryexecfile_output(self, expected: str, actual: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

666 """Assert that the output we got is a successful run of try_execfile.py. 

+

667 

+

668 `expected` and `actual` must be the same, modulo a few slight known 

+

669 platform differences. 

+

670 

+

671 """ 

+

672 # First, is this even credible try_execfile.py output? 

+

673 assert '"DATA": "xyzzy"' in actual 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

674 assert actual == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 

+

676 def test_coverage_run_is_like_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

677 with open(TRY_EXECFILE) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

678 self.make_file("run_me.py", f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

679 expected = self.run_command("python run_me.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

680 actual = self.run_command("coverage run run_me.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

681 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

682 

+

683 def test_coverage_run_far_away_is_like_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

684 with open(TRY_EXECFILE) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

685 self.make_file("sub/overthere/prog.py", f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

686 expected = self.run_command("python sub/overthere/prog.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

687 actual = self.run_command("coverage run sub/overthere/prog.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

688 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

689 

+

690 def test_coverage_run_dashm_is_like_python_dashm(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

691 # These -m commands assume the coverage tree is on the path. 

+

692 expected = self.run_command("python -m process_test.try_execfile") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

693 actual = self.run_command("coverage run -m process_test.try_execfile") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

694 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

695 

+

696 def test_coverage_run_dir_is_like_python_dir(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

697 with open(TRY_EXECFILE) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 self.make_file("with_main/__main__.py", f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

699 

+

700 expected = self.run_command("python with_main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

701 actual = self.run_command("coverage run with_main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

702 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

703 

+

704 def test_coverage_run_dashm_dir_no_init_is_like_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

705 with open(TRY_EXECFILE) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

706 self.make_file("with_main/__main__.py", f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

707 

+

708 expected = self.run_command("python -m with_main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

709 actual = self.run_command("coverage run -m with_main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

711 

+

712 def test_coverage_run_dashm_dir_with_init_is_like_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

713 with open(TRY_EXECFILE) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

714 self.make_file("with_main/__main__.py", f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

715 self.make_file("with_main/__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

716 

+

717 expected = self.run_command("python -m with_main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

718 actual = self.run_command("coverage run -m with_main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

719 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

720 

+

721 def test_coverage_run_dashm_equal_to_doubledashsource(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

722 """regression test for #328 

+

723 

+

724 When imported by -m, a module's __name__ is __main__, but we need the 

+

725 --source machinery to know and respect the original name. 

+

726 """ 

+

727 # These -m commands assume the coverage tree is on the path. 

+

728 expected = self.run_command("python -m process_test.try_execfile") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

729 actual = self.run_command( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

730 "coverage run --source process_test.try_execfile -m process_test.try_execfile" 

+

731 ) 

+

732 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

733 

+

734 def test_coverage_run_dashm_superset_of_doubledashsource(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

735 """Edge case: --source foo -m foo.bar""" 

+

736 # Ugh: without this config file, we'll get a warning about 

+

737 # CoverageWarning: Module process_test was previously imported, 

+

738 # but not measured (module-not-measured) 

+

739 # 

+

740 # This is because process_test/__init__.py is imported while looking 

+

741 # for process_test.try_execfile. That import happens while setting 

+

742 # sys.path before start() is called. 

+

743 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

744 [run] 

+

745 disable_warnings = module-not-measured 

+

746 """) 

+

747 # These -m commands assume the coverage tree is on the path. 

+

748 expected = self.run_command("python -m process_test.try_execfile") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

749 actual = self.run_command( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

750 "coverage run --source process_test -m process_test.try_execfile" 

+

751 ) 

+

752 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

753 

+

754 st, out = self.run_command_status("coverage report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

755 assert st == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

756 assert self.line_count(out) == 6, out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 

+

758 def test_coverage_run_script_imports_doubledashsource(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

759 # This file imports try_execfile, which compiles it to .pyc, so the 

+

760 # first run will have __file__ == "try_execfile.py" and the second will 

+

761 # have __file__ == "try_execfile.pyc", which throws off the comparison. 

+

762 # Setting dont_write_bytecode True stops the compilation to .pyc and 

+

763 # keeps the test working. 

+

764 self.make_file("myscript", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

765 import sys; sys.dont_write_bytecode = True 

+

766 import process_test.try_execfile 

+

767 """) 

+

768 

+

769 expected = self.run_command("python myscript") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

770 actual = self.run_command("coverage run --source process_test myscript") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

771 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

772 

+

773 st, out = self.run_command_status("coverage report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

774 assert st == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

775 assert self.line_count(out) == 6, out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

776 

+

777 def test_coverage_run_dashm_is_like_python_dashm_off_path(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

778 # https://github.com/nedbat/coveragepy/issues/242 

+

779 self.make_file("sub/__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

780 with open(TRY_EXECFILE) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

781 self.make_file("sub/run_me.py", f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

782 

+

783 expected = self.run_command("python -m sub.run_me") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

784 actual = self.run_command("coverage run -m sub.run_me") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

785 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

786 

+

787 def test_coverage_run_dashm_is_like_python_dashm_with__main__207(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

788 # https://github.com/nedbat/coveragepy/issues/207 

+

789 self.make_file("package/__init__.py", "print('init')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

790 self.make_file("package/__main__.py", "print('main')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

791 expected = self.run_command("python -m package") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

792 actual = self.run_command("coverage run -m package") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

793 assert expected == actual 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

794 

+

795 def test_coverage_zip_is_like_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

796 # Test running coverage from a zip file itself. Some environments 

+

797 # (windows?) zip up the coverage main to be used as the coverage 

+

798 # command. 

+

799 with open(TRY_EXECFILE) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

800 self.make_file("run_me.py", f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

801 expected = self.run_command("python run_me.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

802 cov_main = os.path.join(TESTS_DIR, "covmain.zip") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

803 actual = self.run_command(f"python {cov_main} run run_me.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

804 self.assert_tryexecfile_output(expected, actual) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

805 

+

806 def test_coverage_custom_script(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

807 # https://github.com/nedbat/coveragepy/issues/678 

+

808 # If sys.path[0] isn't the Python default, then coverage.py won't 

+

809 # fiddle with it. 

+

810 self.make_file("a/b/c/thing.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

811 SOMETHING = "hello-xyzzy" 

+

812 """) 

+

813 abc = os.path.abspath("a/b/c") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

814 self.make_file("run_coverage.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

815 import sys 

+

816 sys.path[0:0] = [ 

+

817 r'{abc}', 

+

818 '/Users/somebody/temp/something/eggs/something-4.5.1-py2.7-xxx-10.13-x86_64.egg', 

+

819 ] 

+

820 

+

821 import coverage.cmdline 

+

822 

+

823 if __name__ == '__main__': 

+

824 sys.exit(coverage.cmdline.main()) 

+

825 """.format(abc=abc)) 

+

826 self.make_file("how_is_it.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

827 import pprint, sys 

+

828 pprint.pprint(sys.path) 

+

829 import thing 

+

830 print(thing.SOMETHING) 

+

831 """) 

+

832 # If this test fails, it will be with "can't import thing". 

+

833 out = self.run_command("python run_coverage.py run how_is_it.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

834 assert "hello-xyzzy" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

835 

+

836 out = self.run_command("python -m run_coverage run how_is_it.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

837 assert "hello-xyzzy" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

838 

+

839 @pytest.mark.skipif(env.WINDOWS, reason="Windows can't make symlinks") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

840 def test_bug_862(self) -> None: 

+

841 # This simulates how pyenv and pyenv-virtualenv end up creating the 

+

842 # coverage executable. 

+

843 self.make_file("elsewhere/bin/fake-coverage", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

844 #!{executable} 

+

845 import sys, pkg_resources 

+

846 sys.exit(pkg_resources.load_entry_point('coverage', 'console_scripts', 'coverage')()) 

+

847 """.format(executable=sys.executable)) 

+

848 os.chmod("elsewhere/bin/fake-coverage", stat.S_IREAD | stat.S_IEXEC) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

849 os.symlink("elsewhere", "somewhere") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

850 self.make_file("foo.py", "print('inside foo')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

851 self.make_file("bar.py", "import foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

852 out = self.run_command("somewhere/bin/fake-coverage run bar.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

853 assert "inside foo\n" == out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

854 

+

855 def test_bug_909(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

856 # https://github.com/nedbat/coveragepy/issues/909 

+

857 # The __init__ files were being imported before measurement started, 

+

858 # so the line in __init__.py was being marked as missed, and there were 

+

859 # warnings about measured files being imported before start. 

+

860 self.make_file("proj/__init__.py", "print('Init')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

861 self.make_file("proj/thecode.py", "print('The code')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

862 self.make_file("proj/tests/__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

863 self.make_file("proj/tests/test_it.py", "import proj.thecode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

864 

+

865 expected = "Init\nThe code\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

866 actual = self.run_command("coverage run --source=proj -m proj.tests.test_it") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

867 assert expected == actual 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

868 

+

869 report = self.run_command("coverage report -m") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

870 

+

871 # Name Stmts Miss Cover Missing 

+

872 # ------------------------------------------------------ 

+

873 # proj/__init__.py 1 0 100% 

+

874 # proj/tests/__init__.py 0 0 100% 

+

875 # proj/tests/test_it.py 1 0 100% 

+

876 # proj/thecode.py 1 0 100% 

+

877 # ------------------------------------------------------ 

+

878 # TOTAL 3 0 100% 

+

879 

+

880 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

881 assert squeezed[2].replace("\\", "/") == "proj/__init__.py 1 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

882 

+

883 

+

884class ExcepthookTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

885 """Tests of sys.excepthook support.""" 

+

886 

+

887 # TODO: do we need these as process tests if we have test_execfile.py:RunFileTest? 

+

888 

+

889 def test_excepthook(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

890 self.make_file("excepthook.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

891 import sys 

+

892 

+

893 def excepthook(*args): 

+

894 print('in excepthook') 

+

895 if maybe == 2: 

+

896 print('definitely') 

+

897 

+

898 sys.excepthook = excepthook 

+

899 

+

900 maybe = 1 

+

901 raise RuntimeError('Error Outside') 

+

902 """) 

+

903 cov_st, cov_out = self.run_command_status("coverage run excepthook.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

904 py_st, py_out = self.run_command_status("python excepthook.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

905 assert cov_st == py_st 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

906 assert cov_st == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

907 assert "in excepthook" in py_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

908 assert cov_out == py_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

909 

+

910 # Read the coverage file and see that excepthook.py has 7 lines 

+

911 # executed. 

+

912 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

913 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

914 assert line_counts(data)['excepthook.py'] == 7 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

915 

+

916 @pytest.mark.skipif(not env.CPYTHON, 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

917 reason="non-CPython handles excepthook exits differently, punt for now." 

+

918 ) 

+

919 def test_excepthook_exit(self) -> None: 

+

920 self.make_file("excepthook_exit.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

921 import sys 

+

922 

+

923 def excepthook(*args): 

+

924 print('in excepthook') 

+

925 sys.exit(0) 

+

926 

+

927 sys.excepthook = excepthook 

+

928 

+

929 raise RuntimeError('Error Outside') 

+

930 """) 

+

931 cov_st, cov_out = self.run_command_status("coverage run excepthook_exit.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

932 py_st, py_out = self.run_command_status("python excepthook_exit.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

933 assert cov_st == py_st 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

934 assert cov_st == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

935 

+

936 assert py_out == "in excepthook\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

937 assert cov_out == py_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

938 

+

939 @pytest.mark.skipif(env.PYPY, reason="PyPy handles excepthook throws differently.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

940 def test_excepthook_throw(self) -> None: 

+

941 self.make_file("excepthook_throw.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

942 import sys 

+

943 

+

944 def excepthook(*args): 

+

945 # Write this message to stderr so that we don't have to deal 

+

946 # with interleaved stdout/stderr comparisons in the assertions 

+

947 # in the test. 

+

948 sys.stderr.write('in excepthook\\n') 

+

949 raise RuntimeError('Error Inside') 

+

950 

+

951 sys.excepthook = excepthook 

+

952 

+

953 raise RuntimeError('Error Outside') 

+

954 """) 

+

955 cov_st, cov_out = self.run_command_status("coverage run excepthook_throw.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

956 py_st, py_out = self.run_command_status("python excepthook_throw.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

957 assert cov_st == py_st 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

958 assert cov_st == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

959 assert "in excepthook" in py_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

960 assert cov_out == py_out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

961 

+

962 

+

963class AliasedCommandTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

964 """Tests of the version-specific command aliases.""" 

+

965 

+

966 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

967 

+

968 def test_major_version_works(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

969 # "coverage3" works on py3 

+

970 cmd = "coverage%d" % sys.version_info[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

971 out = self.run_command(cmd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

972 assert "Code coverage for Python" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

973 

+

974 def test_wrong_alias_doesnt_work(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

975 # "coverage2" doesn't work on py3 

+

976 assert sys.version_info[0] in [2, 3] # Let us know when Python 4 is out... 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

977 badcmd = "coverage%d" % (5 - sys.version_info[0]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

978 out = self.run_command(badcmd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

979 assert "Code coverage for Python" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

980 

+

981 def test_specific_alias_works(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

982 # "coverage-3.9" works on py3.9 

+

983 cmd = "coverage-%d.%d" % sys.version_info[:2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

984 out = self.run_command(cmd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

985 assert "Code coverage for Python" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

986 

+

987 @pytest.mark.parametrize("cmd", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

988 "coverage", 

+

989 "coverage%d" % sys.version_info[0], 

+

990 "coverage-%d.%d" % sys.version_info[:2], 

+

991 ]) 

+

992 def test_aliases_used_in_messages(self, cmd: str) -> None: 

+

993 out = self.run_command(f"{cmd} foobar") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

994 assert "Unknown command: 'foobar'" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

995 assert f"Use '{cmd} help' for help" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

996 

+

997 

+

998class PydocTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

999 """Test that pydoc can get our information.""" 

+

1000 

+

1001 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1002 

+

1003 def assert_pydoc_ok(self, name: str, thing: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1004 """Check that pydoc of `name` finds the docstring from `thing`.""" 

+

1005 # Run pydoc. 

+

1006 out = self.run_command("python -m pydoc " + name) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1007 # It should say "Help on..", and not have a traceback 

+

1008 assert out.startswith("Help on ") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1009 assert "Traceback" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1010 

+

1011 # All of the lines in the docstring should be there somewhere. 

+

1012 for line in thing.__doc__.splitlines(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1013 assert line.strip() in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1014 

+

1015 def test_pydoc_coverage(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1016 self.assert_pydoc_ok("coverage", coverage) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1017 

+

1018 def test_pydoc_coverage_coverage(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1019 self.assert_pydoc_ok("coverage.Coverage", coverage.Coverage) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1020 

+

1021 

+

1022class FailUnderTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1023 """Tests of the --fail-under switch.""" 

+

1024 

+

1025 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1026 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1027 self.make_file("forty_two_plus.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1028 # I have 42.857% (3/7) coverage! 

+

1029 a = 1 

+

1030 b = 2 

+

1031 if a > 3: 

+

1032 b = 4 

+

1033 c = 5 

+

1034 d = 6 

+

1035 e = 7 

+

1036 """) 

+

1037 self.make_data_file(lines={abs_file("forty_two_plus.py"): [2, 3, 4]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1038 

+

1039 def test_report_43_is_ok(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1040 st, out = self.run_command_status("coverage report --fail-under=43") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1041 assert st == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1042 assert self.last_line_squeezed(out) == "TOTAL 7 4 43%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1043 

+

1044 def test_report_43_is_not_ok(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1045 st, out = self.run_command_status("coverage report --fail-under=44") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1046 assert st == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1047 expected = "Coverage failure: total of 43 is less than fail-under=44" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1048 assert expected == self.last_line_squeezed(out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1049 

+

1050 def test_report_42p86_is_not_ok(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1051 self.make_file(".coveragerc", "[report]\nprecision = 2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1052 st, out = self.run_command_status("coverage report --fail-under=42.88") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1053 assert st == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1054 expected = "Coverage failure: total of 42.86 is less than fail-under=42.88" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1055 assert expected == self.last_line_squeezed(out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1056 

+

1057 def test_report_99p9_is_not_ok(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1058 # A file with 99.9% coverage: 

+

1059 self.make_file("ninety_nine_plus.py", 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1060 "a = 1\n" + 

+

1061 "b = 2\n" * 2000 + 

+

1062 "if a > 3:\n" + 

+

1063 " c = 4\n" 

+

1064 ) 

+

1065 self.make_data_file(lines={abs_file("ninety_nine_plus.py"): range(1, 2002)}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1066 st, out = self.run_command_status("coverage report --fail-under=100") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1067 assert st == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1068 expected = "Coverage failure: total of 99 is less than fail-under=100" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1069 assert expected == self.last_line_squeezed(out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1070 

+

1071 

+

1072class FailUnderNoFilesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1073 """Test that nothing to report results in an error exit status.""" 

+

1074 def test_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1075 self.make_file(".coveragerc", "[report]\nfail_under = 99\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1076 st, out = self.run_command_status("coverage report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1077 assert 'No data to report.' in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1078 assert st == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1079 

+

1080 

+

1081class FailUnderEmptyFilesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1082 """Test that empty files produce the proper fail_under exit status.""" 

+

1083 def test_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1084 self.make_file(".coveragerc", "[report]\nfail_under = 99\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1085 self.make_file("empty.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1086 st, _ = self.run_command_status("coverage run empty.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1087 assert st == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1088 st, _ = self.run_command_status("coverage report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1089 # An empty file is marked as 100% covered, so this is ok. 

+

1090 assert st == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1091 

+

1092 

+

1093@pytest.mark.skipif(env.WINDOWS, reason="Windows can't delete the directory in use.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1094class YankedDirectoryTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1095 """Tests of what happens when the current directory is deleted.""" 

+

1096 

+

1097 BUG_806 = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1098 import os 

+

1099 import sys 

+

1100 import tempfile 

+

1101 

+

1102 tmpdir = tempfile.mkdtemp() 

+

1103 os.chdir(tmpdir) 

+

1104 os.rmdir(tmpdir) 

+

1105 print(sys.argv[1]) 

+

1106 """ 

+

1107 

+

1108 def test_removing_directory(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1109 self.make_file("bug806.py", self.BUG_806) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1110 out = self.run_command("coverage run bug806.py noerror") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1111 assert out == "noerror\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1112 

+

1113 def test_removing_directory_with_error(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1114 self.make_file("bug806.py", self.BUG_806) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1115 out = self.run_command("coverage run bug806.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1116 path = python_reported_file('bug806.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1117 # Python 3.11 adds an extra line to the traceback. 

+

1118 # Check that the lines we expect are there. 

+

1119 lines = textwrap.dedent(f"""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1120 Traceback (most recent call last): 

+

1121 File "{path}", line 8, in <module> 

+

1122 print(sys.argv[1]) 

+

1123 IndexError: list index out of range 

+

1124 """).splitlines(keepends=True) 

+

1125 assert all(line in out for line in lines) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1126 

+

1127 

+

1128@pytest.mark.skipif(env.METACOV, reason="Can't test sub-process pth file during metacoverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1129class ProcessStartupTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1130 """Test that we can measure coverage in sub-processes.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1131 

+

1132 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1133 super().setUp() 

+

1134 

+

1135 # Main will run sub.py 

+

1136 self.make_file("main.py", """\ 

+

1137 import os, os.path, sys 

+

1138 ex = os.path.basename(sys.executable) 

+

1139 os.system(ex + " sub.py") 

+

1140 """) 

+

1141 # sub.py will write a few lines. 

+

1142 self.make_file("sub.py", """\ 

+

1143 f = open("out.txt", "w") 

+

1144 f.write("Hello, world!\\n") 

+

1145 f.close() 

+

1146 """) 

+

1147 

+

1148 def test_subprocess_with_pth_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1149 # An existing data file should not be read when a subprocess gets 

+

1150 # measured automatically. Create the data file here with bogus data in 

+

1151 # it. 

+

1152 data = coverage.CoverageData(".mycovdata") 

+

1153 data.add_lines({os.path.abspath('sub.py'): range(100)}) 

+

1154 data.write() 

+

1155 

+

1156 self.make_file("coverage.ini", """\ 

+

1157 [run] 

+

1158 data_file = .mycovdata 

+

1159 """) 

+

1160 self.set_environ("COVERAGE_PROCESS_START", "coverage.ini") 

+

1161 import main # pylint: disable=unused-import, import-error 

+

1162 

+

1163 with open("out.txt") as f: 

+

1164 assert f.read() == "Hello, world!\n" 

+

1165 

+

1166 # Read the data from .coverage 

+

1167 self.assert_exists(".mycovdata") 

+

1168 data = coverage.CoverageData(".mycovdata") 

+

1169 data.read() 

+

1170 assert line_counts(data)['sub.py'] == 3 

+

1171 

+

1172 def test_subprocess_with_pth_files_and_parallel(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1173 # https://github.com/nedbat/coveragepy/issues/492 

+

1174 self.make_file("coverage.ini", """\ 

+

1175 [run] 

+

1176 parallel = true 

+

1177 """) 

+

1178 

+

1179 self.set_environ("COVERAGE_PROCESS_START", "coverage.ini") 

+

1180 self.run_command("coverage run main.py") 

+

1181 

+

1182 with open("out.txt") as f: 

+

1183 assert f.read() == "Hello, world!\n" 

+

1184 

+

1185 self.run_command("coverage combine") 

+

1186 

+

1187 # assert that the combined .coverage data file is correct 

+

1188 self.assert_exists(".coverage") 

+

1189 data = coverage.CoverageData() 

+

1190 data.read() 

+

1191 assert line_counts(data)['sub.py'] == 3 

+

1192 

+

1193 # assert that there are *no* extra data files left over after a combine 

+

1194 data_files = glob.glob(os.getcwd() + '/.coverage*') 

+

1195 msg = ( 

+

1196 "Expected only .coverage after combine, looks like there are " + 

+

1197 f"extra data files that were not cleaned up: {data_files!r}" 

+

1198 ) 

+

1199 assert len(data_files) == 1, msg 

+

1200 

+

1201 

+

1202class ProcessStartupWithSourceTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1203 """Show that we can configure {[run]source} during process-level coverage. 

+

1204 

+

1205 There are three interesting variables, for a total of eight tests: 

+

1206 

+

1207 1. -m versus a simple script argument (for example, `python myscript`), 

+

1208 

+

1209 2. filtering for the top-level (main.py) or second-level (sub.py) 

+

1210 module, and 

+

1211 

+

1212 3. whether the files are in a package or not. 

+

1213 

+

1214 """ 

+

1215 

+

1216 @pytest.mark.parametrize("dashm", ["-m", ""]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1217 @pytest.mark.parametrize("package", ["pkg", ""]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1218 @pytest.mark.parametrize("source", ["main", "sub"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1219 def test_pth_and_source_work_together(self, dashm: str, package: str, source: str) -> None: 

+

1220 """Run the test for a particular combination of factors. 

+

1221 

+

1222 The arguments are all strings: 

+

1223 

+

1224 * `dashm`: Either "" (run the program as a file) or "-m" (run the 

+

1225 program as a module). 

+

1226 

+

1227 * `package`: Either "" (put the source at the top level) or a 

+

1228 package name to use to hold the source. 

+

1229 

+

1230 * `source`: Either "main" or "sub", which file to use as the 

+

1231 ``--source`` argument. 

+

1232 

+

1233 """ 

+

1234 def fullname(modname: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1235 """What is the full module name for `modname` for this test?""" 

+

1236 if package and dashm: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1237 return '.'.join((package, modname)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1238 else: 

+

1239 return modname 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1240 

+

1241 def path(basename: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1242 """Where should `basename` be created for this test?""" 

+

1243 return os.path.join(package, basename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1244 

+

1245 # Main will run sub.py. 

+

1246 self.make_file(path("main.py"), """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1247 import %s 

+

1248 a = 2 

+

1249 b = 3 

+

1250 """ % fullname('sub')) 

+

1251 if package: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1252 self.make_file(path("__init__.py"), "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1253 # sub.py will write a few lines. 

+

1254 self.make_file(path("sub.py"), """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1255 f = open("out.txt", "w") 

+

1256 f.write("Hello, world!") 

+

1257 f.close() 

+

1258 """) 

+

1259 self.make_file("coverage.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1260 [run] 

+

1261 source = %s 

+

1262 """ % fullname(source)) 

+

1263 

+

1264 self.set_environ("COVERAGE_PROCESS_START", "coverage.ini") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1265 

+

1266 if dashm: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1267 cmd = "python -m %s" % fullname('main') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1268 else: 

+

1269 cmd = "python %s" % path('main.py') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1270 

+

1271 self.run_command(cmd) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1272 

+

1273 with open("out.txt") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1274 assert f.read() == "Hello, world!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1275 

+

1276 # Read the data from .coverage 

+

1277 self.assert_exists(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1278 data = coverage.CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1279 data.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1280 summary = line_counts(data) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1281 assert summary[source + '.py'] == 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1282 assert len(summary) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_python_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_python_py.html new file mode 100644 index 000000000..d4e24dd9b --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_python_py.html @@ -0,0 +1,164 @@ + + + + + Coverage for tests/test_python.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_python.py: + 100.000% +

+ +

+ 37 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests of coverage/python.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import pathlib 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.python import get_zip_bytes, source_for_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17from tests.helpers import os_sep 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19 

+

20class GetZipBytesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 """Tests of `get_zip_bytes`.""" 

+

22 

+

23 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25 @pytest.mark.parametrize( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 "encoding", 

+

27 ["utf-8", "gb2312", "hebrew", "shift_jis", "cp1252"], 

+

28 ) 

+

29 def test_get_encoded_zip_files(self, encoding: str) -> None: 

+

30 # See igor.py, do_zipmods, for the text of these files. 

+

31 zip_file = "tests/zipmods.zip" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 sys.path.append(zip_file) # So we can import the files. 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 filename = zip_file + "/encoded_" + encoding + ".py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 filename = os_sep(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 zip_data = get_zip_bytes(filename) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 assert zip_data is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 zip_text = zip_data.decode(encoding) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 assert 'All OK' in zip_text 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 # Run the code to see that we really got it encoded properly. 

+

40 mod = __import__("encoded_"+encoding) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 assert mod.encoding == encoding 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 

+

43 

+

44def test_source_for_file(tmp_path: pathlib.Path) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 src = str(tmp_path / "a.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 assert source_for_file(src) == src 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 assert source_for_file(src + 'c') == src 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 assert source_for_file(src + 'o') == src 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 unknown = src + 'FOO' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 assert source_for_file(unknown) == unknown 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52 

+

53@pytest.mark.skipif(not env.WINDOWS, reason="not windows") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54def test_source_for_file_windows(tmp_path: pathlib.Path) -> None: 

+

55 a_py = tmp_path / "a.py" 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

56 src = str(a_py) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

57 

+

58 # On windows if a pyw exists, it is an acceptable source 

+

59 path_windows = tmp_path / "a.pyw" 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

60 path_windows.write_text("") 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

61 assert str(path_windows) == source_for_file(src + 'c') 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

62 

+

63 # If both pyw and py exist, py is preferred 

+

64 a_py.write_text("") 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

65 assert source_for_file(src + 'c') == src 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_report_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_report_py.html new file mode 100644 index 000000000..b38ac780a --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_report_py.html @@ -0,0 +1,167 @@ + + + + + Coverage for tests/test_report.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_report.py: + 100.000% +

+ +

+ 46 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for helpers in report.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8from typing import IO, Iterable, List, Optional, Type 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from coverage.exceptions import CoverageException 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from coverage.report import render_report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14from coverage.types import TMorf 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18 

+

19class FakeReporter: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 """A fake implementation of a one-file reporter.""" 

+

21 

+

22 report_type = "fake report file" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 

+

24 def __init__(self, output: str = "", error: Optional[Type[Exception]] = None) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 self.output = output 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 self.error = error 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 self.morfs: Optional[Iterable[TMorf]] = None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29 def report(self, morfs: Optional[Iterable[TMorf]], outfile: IO[str]) -> float: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 """Fake.""" 

+

31 self.morfs = morfs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 outfile.write(self.output) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 if self.error: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 raise self.error("You asked for it!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 return 17.25 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 

+

37 

+

38class RenderReportTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 """Tests of render_report.""" 

+

40 

+

41 def test_stdout(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 fake = FakeReporter(output="Hello!\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 msgs: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 res = render_report("-", fake, [pytest, "coverage"], msgs.append) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 assert res == 17.25 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 assert fake.morfs == [pytest, "coverage"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 assert self.stdout() == "Hello!\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 assert not msgs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 def test_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 fake = FakeReporter(output="Gréètings!\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 msgs: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 res = render_report("output.txt", fake, [], msgs.append) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 assert res == 17.25 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 with open("output.txt", "rb") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 assert f.read().rstrip() == b"Gr\xc3\xa9\xc3\xa8tings!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 assert msgs == ["Wrote fake report file to output.txt"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 

+

60 @pytest.mark.parametrize("error", [CoverageException, ZeroDivisionError]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 def test_exception(self, error: Type[Exception]) -> None: 

+

62 fake = FakeReporter(error=error) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 msgs: List[str] = [] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 with pytest.raises(error, match="You asked for it!"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 render_report("output.txt", fake, [], msgs.append) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 self.assert_doesnt_exist("output.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 assert not msgs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_results_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_results_py.html new file mode 100644 index 000000000..0f40fbc6a --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_results_py.html @@ -0,0 +1,270 @@ + + + + + Coverage for tests/test_results.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_results.py: + 100.000% +

+ +

+ 55 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.py's results analysis.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import math 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from typing import Dict, Iterable, List, Tuple, cast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from coverage.exceptions import ConfigError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15from coverage.results import format_lines, Numbers, should_fail_under 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16from coverage.types import TLineNo 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20 

+

21class NumbersTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 """Tests for coverage.py's numeric measurement summaries.""" 

+

23 

+

24 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 

+

26 def test_basic(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 n1 = Numbers(n_files=1, n_statements=200, n_missing=20) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 assert n1.n_statements == 200 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 assert n1.n_executed == 180 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 assert n1.n_missing == 20 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 assert n1.pc_covered == 90 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 

+

33 def test_addition(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 n1 = Numbers(n_files=1, n_statements=200, n_missing=20) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 n2 = Numbers(n_files=1, n_statements=10, n_missing=8) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 n3 = n1 + n2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 assert n3.n_files == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 assert n3.n_statements == 210 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 assert n3.n_executed == 182 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 assert n3.n_missing == 28 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 assert math.isclose(n3.pc_covered, 86.666666666) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 

+

43 def test_sum(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 n1 = Numbers(n_files=1, n_statements=200, n_missing=20) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 n2 = Numbers(n_files=1, n_statements=10, n_missing=8) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 n3 = cast(Numbers, sum([n1, n2])) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 assert n3.n_files == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 assert n3.n_statements == 210 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 assert n3.n_executed == 182 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 assert n3.n_missing == 28 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 assert math.isclose(n3.pc_covered, 86.666666666) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 

+

53 @pytest.mark.parametrize("kwargs, res", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 (dict(n_files=1, n_statements=1000, n_missing=0), "100"), 

+

55 (dict(n_files=1, n_statements=1000, n_missing=1), "99"), 

+

56 (dict(n_files=1, n_statements=1000, n_missing=999), "1"), 

+

57 (dict(n_files=1, n_statements=1000, n_missing=1000), "0"), 

+

58 (dict(precision=1, n_files=1, n_statements=10000, n_missing=0), "100.0"), 

+

59 (dict(precision=1, n_files=1, n_statements=10000, n_missing=1), "99.9"), 

+

60 (dict(precision=1, n_files=1, n_statements=10000, n_missing=9999), "0.1"), 

+

61 (dict(precision=1, n_files=1, n_statements=10000, n_missing=10000), "0.0"), 

+

62 ]) 

+

63 def test_pc_covered_str(self, kwargs: Dict[str, int], res: str) -> None: 

+

64 assert Numbers(**kwargs).pc_covered_str == res 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66 @pytest.mark.parametrize("prec, pc, res", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 (0, 47.87, "48"), 

+

68 (1, 47.87, "47.9"), 

+

69 (0, 99.995, "99"), 

+

70 (2, 99.99995, "99.99"), 

+

71 ]) 

+

72 def test_display_covered(self, prec: int, pc: float, res: str) -> None: 

+

73 assert Numbers(precision=prec).display_covered(pc) == res 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 @pytest.mark.parametrize("prec, width", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 (0, 3), # 100 

+

77 (1, 5), # 100.0 

+

78 (4, 8), # 100.0000 

+

79 ]) 

+

80 def test_pc_str_width(self, prec: int, width: int) -> None: 

+

81 assert Numbers(precision=prec).pc_str_width() == width 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 

+

83 def test_covered_ratio(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 n = Numbers(n_files=1, n_statements=200, n_missing=47) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 assert n.ratio_covered == (153, 200) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 

+

87 n = Numbers( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 n_files=1, n_statements=200, n_missing=47, 

+

89 n_branches=10, n_missing_branches=3, n_partial_branches=1000, 

+

90 ) 

+

91 assert n.ratio_covered == (160, 210) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 

+

93 

+

94@pytest.mark.parametrize("total, fail_under, precision, result", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 # fail_under==0 means anything is fine! 

+

96 (0, 0, 0, False), 

+

97 (0.001, 0, 0, False), 

+

98 # very small fail_under is possible to fail. 

+

99 (0.001, 0.01, 0, True), 

+

100 # Rounding should work properly. 

+

101 (42.1, 42, 0, False), 

+

102 (42.1, 43, 0, True), 

+

103 (42.857, 42, 0, False), 

+

104 (42.857, 43, 0, False), 

+

105 (42.857, 44, 0, True), 

+

106 (42.857, 42.856, 3, False), 

+

107 (42.857, 42.858, 3, True), 

+

108 # If you don't specify precision, your fail-under is rounded. 

+

109 (42.857, 42.856, 0, False), 

+

110 # Values near 100 should only be treated as 100 if they are 100. 

+

111 (99.8, 100, 0, True), 

+

112 (100.0, 100, 0, False), 

+

113 (99.8, 99.7, 1, False), 

+

114 (99.88, 99.90, 2, True), 

+

115 (99.999, 100, 1, True), 

+

116 (99.999, 100, 2, True), 

+

117 (99.999, 100, 3, True), 

+

118]) 

+

119def test_should_fail_under(total: float, fail_under: float, precision: int, result: bool) -> None: 

+

120 assert should_fail_under(float(total), float(fail_under), precision) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 

+

122 

+

123def test_should_fail_under_invalid_value() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 with pytest.raises(ConfigError, match=r"fail_under=101"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 should_fail_under(100.0, 101, 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 

+

127 

+

128@pytest.mark.parametrize("statements, lines, result", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 ({1,2,3,4,5,10,11,12,13,14}, {1,2,5,10,11,13,14}, "1-2, 5-11, 13-14"), 

+

130 ([1,2,3,4,5,10,11,12,13,14,98,99], [1,2,5,10,11,13,14,99], "1-2, 5-11, 13-14, 99"), 

+

131 ([1,2,3,4,98,99,100,101,102,103,104], [1,2,99,102,103,104], "1-2, 99, 102-104"), 

+

132 ([17], [17], "17"), 

+

133 ([90,91,92,93,94,95], [90,91,92,93,94,95], "90-95"), 

+

134 ([1, 2, 3, 4, 5], [], ""), 

+

135 ([1, 2, 3, 4, 5], [4], "4"), 

+

136]) 

+

137def test_format_lines( 

+

138 statements: Iterable[TLineNo], 

+

139 lines: Iterable[TLineNo], 

+

140 result: str, 

+

141) -> None: 

+

142 assert format_lines(statements, lines) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 

+

144 

+

145@pytest.mark.parametrize("statements, lines, arcs, result", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 ( 

+

147 {1,2,3,4,5,10,11,12,13,14}, 

+

148 {1,2,5,10,11,13,14}, 

+

149 (), 

+

150 "1-2, 5-11, 13-14" 

+

151 ), 

+

152 ( 

+

153 [1,2,3,4,5,10,11,12,13,14,98,99], 

+

154 [1,2,5,10,11,13,14,99], 

+

155 [(3, [4]), (5, [10, 11]), (98, [100, -1])], 

+

156 "1-2, 3->4, 5-11, 13-14, 98->100, 98->exit, 99" 

+

157 ), 

+

158 ( 

+

159 [1,2,3,4,98,99,100,101,102,103,104], 

+

160 [1,2,99,102,103,104], 

+

161 [(3, [4]), (104, [-1])], 

+

162 "1-2, 3->4, 99, 102-104" 

+

163 ), 

+

164]) 

+

165def test_format_lines_with_arcs( 

+

166 statements: Iterable[TLineNo], 

+

167 lines: Iterable[TLineNo], 

+

168 arcs: Iterable[Tuple[TLineNo, List[TLineNo]]], 

+

169 result: str, 

+

170) -> None: 

+

171 assert format_lines(statements, lines, arcs) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_setup_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_setup_py.html new file mode 100644 index 000000000..a057236f0 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_setup_py.html @@ -0,0 +1,152 @@ + + + + + Coverage for tests/test_setup.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_setup.py: + 100.000% +

+ +

+ 31 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests of miscellaneous stuff.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from typing import List, cast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16 

+

17class SetupPyTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 """Tests of setup.py""" 

+

19 

+

20 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21 

+

22 def setUp(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 super().setUp() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 # Force the most restrictive interpretation. 

+

25 self.set_environ('LC_ALL', 'C') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 

+

27 def test_metadata(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 status, output = self.run_command_status( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 "python setup.py --description --version --url --author" 

+

30 ) 

+

31 assert status == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 out = output.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 assert "measurement" in out[0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 assert coverage.__version__ == out[1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 assert "github.com/nedbat/coveragepy" in out[2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 assert "Ned Batchelder" in out[3] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 

+

38 def test_more_metadata(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 # Let's be sure we pick up our own setup.py 

+

40 # CoverageTest restores the original sys.path for us. 

+

41 sys.path.insert(0, '') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 from setup import setup_args 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 

+

44 classifiers = cast(List[str], setup_args['classifiers']) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45 assert len(classifiers) > 7 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 assert classifiers[-1].startswith("Development Status ::") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 assert "Programming Language :: Python :: %d" % sys.version_info[:1] in classifiers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 assert "Programming Language :: Python :: %d.%d" % sys.version_info[:2] in classifiers 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 

+

50 long_description = cast(str, setup_args['long_description']).splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 assert len(long_description) > 7 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 assert long_description[0].strip() != "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 assert long_description[-1].strip() != "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_summary_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_summary_py.html new file mode 100644 index 000000000..e7a6c4fc6 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_summary_py.html @@ -0,0 +1,1127 @@ + + + + + Coverage for tests/test_summary.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_summary.py: + 100.000% +

+ +

+ 486 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Test text-based summary reporting for coverage.py""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import glob 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import io 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import math 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13import py_compile 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16from typing import Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19 

+

20import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22from coverage.control import Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23from coverage.data import CoverageData 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from coverage.exceptions import ConfigError, NoDataError, NotPython 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from coverage.files import abs_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26from coverage.summary import SummaryReporter 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27from coverage.types import TConfigValueIn 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 

+

29from tests.coveragetest import CoverageTest, TESTS_DIR, UsingModulesMixin 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30from tests.helpers import assert_coverage_warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 

+

32 

+

33class SummaryTest(UsingModulesMixin, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 """Tests of the text summary reporting for coverage.py.""" 

+

35 

+

36 def make_mycode(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 """Make the mycode.py file when needed.""" 

+

38 self.make_file("mycode.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 import covmod1 

+

40 import covmodzip1 

+

41 a = 1 

+

42 print('done') 

+

43 """) 

+

44 

+

45 def test_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 self.make_mycode() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

47 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

48 self.start_import_stop(cov, "mycode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 assert self.stdout() == 'done\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 report = self.get_report(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52 # Name Stmts Miss Cover 

+

53 # ------------------------------------------------------------------ 

+

54 # c:/ned/coverage/tests/modules/covmod1.py 2 0 100% 

+

55 # c:/ned/coverage/tests/zipmods.zip/covmodzip1.py 2 0 100% 

+

56 # mycode.py 4 0 100% 

+

57 # ------------------------------------------------------------------ 

+

58 # TOTAL 8 0 100% 

+

59 

+

60 assert "/coverage/__init__/" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 assert "/tests/modules/covmod1.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 assert "/tests/zipmods.zip/covmodzip1.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 assert "mycode.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 assert self.last_line_squeezed(report) == "TOTAL 8 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 

+

66 def test_report_just_one(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 # Try reporting just one module 

+

68 self.make_mycode() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

70 self.start_import_stop(cov, "mycode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 report = self.get_report(cov, morfs=["mycode.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 

+

73 # Name Stmts Miss Cover 

+

74 # ------------------------------- 

+

75 # mycode.py 4 0 100% 

+

76 # ------------------------------- 

+

77 # TOTAL 4 0 100% 

+

78 assert self.line_count(report) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 assert "/coverage/" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 assert "/tests/modules/covmod1.py " not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 assert "/tests/zipmods.zip/covmodzip1.py " not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 assert "mycode.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 assert self.last_line_squeezed(report) == "TOTAL 4 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 

+

85 def test_report_wildcard(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

86 # Try reporting using wildcards to get the modules. 

+

87 self.make_mycode() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 # Wildcard is handled by shell or cmdline.py, so use real commands 

+

89 self.run_command("coverage run mycode.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 report = self.report_from_command("coverage report my*.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 

+

92 # Name Stmts Miss Cover 

+

93 # ------------------------------- 

+

94 # mycode.py 4 0 100% 

+

95 # ------------------------------- 

+

96 # TOTAL 4 0 100% 

+

97 

+

98 assert self.line_count(report) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 assert "/coverage/" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 assert "/tests/modules/covmod1.py " not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 assert "/tests/zipmods.zip/covmodzip1.py " not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 assert "mycode.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

103 assert self.last_line_squeezed(report) == "TOTAL 4 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 

+

105 def test_report_omitting(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 # Try reporting while omitting some modules 

+

107 self.make_mycode() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 self.start_import_stop(cov, "mycode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 report = self.get_report(cov, omit=[f"{TESTS_DIR}/*", "*/site-packages/*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

111 

+

112 # Name Stmts Miss Cover 

+

113 # ------------------------------- 

+

114 # mycode.py 4 0 100% 

+

115 # ------------------------------- 

+

116 # TOTAL 4 0 100% 

+

117 

+

118 assert self.line_count(report) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 assert "/coverage/" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 assert "/tests/modules/covmod1.py " not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 assert "/tests/zipmods.zip/covmodzip1.py " not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 assert "mycode.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

123 assert self.last_line_squeezed(report) == "TOTAL 4 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 

+

125 def test_report_including(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 # Try reporting while including some modules 

+

127 self.make_mycode() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 self.start_import_stop(cov, "mycode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 report = self.get_report(cov, include=["mycode*"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 

+

132 # Name Stmts Miss Cover 

+

133 # ------------------------------- 

+

134 # mycode.py 4 0 100% 

+

135 # ------------------------------- 

+

136 # TOTAL 4 0 100% 

+

137 

+

138 assert self.line_count(report) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

139 assert "/coverage/" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 assert "/tests/modules/covmod1.py " not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 assert "/tests/zipmods.zip/covmodzip1.py " not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 assert "mycode.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 assert self.last_line_squeezed(report) == "TOTAL 4 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 

+

145 def test_omit_files_here(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 # https://github.com/nedbat/coveragepy/issues/1407 

+

147 self.make_file("foo.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

148 self.make_file("bar/bar.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 self.make_file("tests/test_baz.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 def test_foo(): 

+

151 assert True 

+

152 test_foo() 

+

153 """) 

+

154 self.run_command("coverage run --source=. --omit='./*.py' -m tests.test_baz") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 report = self.report_from_command("coverage report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

156 

+

157 # Name Stmts Miss Cover 

+

158 # --------------------------------------- 

+

159 # tests/test_baz.py 3 0 100% 

+

160 # --------------------------------------- 

+

161 # TOTAL 3 0 100% 

+

162 

+

163 assert self.line_count(report) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 assert "foo" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 assert "bar" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 assert "tests/test_baz.py" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 assert self.last_line_squeezed(report) == "TOTAL 3 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

168 

+

169 def test_run_source_vs_report_include(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 # https://github.com/nedbat/coveragepy/issues/621 

+

171 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 [run] 

+

173 source = . 

+

174 

+

175 [report] 

+

176 include = mod/*,tests/* 

+

177 """) 

+

178 # It should be OK to use that configuration. 

+

179 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 with self.assert_warnings(cov, []): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 

+

184 def test_run_omit_vs_report_omit(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 # https://github.com/nedbat/coveragepy/issues/622 

+

186 # report:omit shouldn't clobber run:omit. 

+

187 self.make_mycode() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 [run] 

+

190 omit = */covmodzip1.py 

+

191 

+

192 [report] 

+

193 omit = */covmod1.py 

+

194 """) 

+

195 self.run_command("coverage run mycode.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 

+

197 # Read the data written, to see that the right files have been omitted from running. 

+

198 covdata = CoverageData() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 covdata.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 files = [os.path.basename(p) for p in covdata.measured_files()] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 assert "covmod1.py" in files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 assert "covmodzip1.py" not in files 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 

+

204 def test_report_branches(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 self.make_file("mybranch.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 def branch(x): 

+

207 if x: 

+

208 print("x") 

+

209 return x 

+

210 branch(1) 

+

211 """) 

+

212 cov = coverage.Coverage(source=["."], branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 self.start_import_stop(cov, "mybranch") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 assert self.stdout() == 'x\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 report = self.get_report(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 

+

217 # Name Stmts Miss Branch BrPart Cover 

+

218 # ----------------------------------------------- 

+

219 # mybranch.py 5 0 2 1 86% 

+

220 # ----------------------------------------------- 

+

221 # TOTAL 5 0 2 1 86% 

+

222 assert self.line_count(report) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 assert "mybranch.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 assert self.last_line_squeezed(report) == "TOTAL 5 0 2 1 86%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 

+

226 def test_report_show_missing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 self.make_file("mymissing.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 def missing(x, y): 

+

229 if x: 

+

230 print("x") 

+

231 return x 

+

232 if y: 

+

233 print("y") 

+

234 try: 

+

235 print("z") 

+

236 1/0 

+

237 print("Never!") 

+

238 except ZeroDivisionError: 

+

239 pass 

+

240 return x 

+

241 missing(0, 1) 

+

242 """) 

+

243 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 self.start_import_stop(cov, "mymissing") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 assert self.stdout() == 'y\nz\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 report = self.get_report(cov, show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

247 

+

248 # Name Stmts Miss Cover Missing 

+

249 # -------------------------------------------- 

+

250 # mymissing.py 14 3 79% 3-4, 10 

+

251 # -------------------------------------------- 

+

252 # TOTAL 14 3 79% 

+

253 

+

254 assert self.line_count(report) == 5 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 assert squeezed[2] == "mymissing.py 14 3 79% 3-4, 10" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 assert squeezed[4] == "TOTAL 14 3 79%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 

+

259 def test_report_show_missing_branches(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 self.make_file("mybranch.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 def branch(x, y): 

+

262 if x: 

+

263 print("x") 

+

264 if y: 

+

265 print("y") 

+

266 branch(1, 1) 

+

267 """) 

+

268 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 self.start_import_stop(cov, "mybranch") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 assert self.stdout() == 'x\ny\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 def test_report_show_missing_branches_and_lines(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 self.make_file("main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 import mybranch 

+

275 """) 

+

276 self.make_file("mybranch.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 def branch(x, y, z): 

+

278 if x: 

+

279 print("x") 

+

280 if y: 

+

281 print("y") 

+

282 if z: 

+

283 if x and y: 

+

284 print("z") 

+

285 return x 

+

286 branch(1, 1, 0) 

+

287 """) 

+

288 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 assert self.stdout() == 'x\ny\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 

+

292 def test_report_skip_covered_no_branches(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 self.make_file("main.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 import not_covered 

+

295 

+

296 def normal(): 

+

297 print("z") 

+

298 normal() 

+

299 """) 

+

300 self.make_file("not_covered.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 def not_covered(): 

+

302 print("n") 

+

303 """) 

+

304 # --fail-under is handled by cmdline.py, use real commands. 

+

305 out = self.run_command("coverage run main.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 assert out == "z\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 report = self.report_from_command("coverage report --skip-covered --fail-under=70") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 

+

309 # Name Stmts Miss Cover 

+

310 # ------------------------------------ 

+

311 # not_covered.py 2 1 50% 

+

312 # ------------------------------------ 

+

313 # TOTAL 6 1 83% 

+

314 # 

+

315 # 1 file skipped due to complete coverage. 

+

316 

+

317 assert self.line_count(report) == 7, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 assert squeezed[2] == "not_covered.py 2 1 50%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 assert squeezed[4] == "TOTAL 6 1 83%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 assert squeezed[6] == "1 file skipped due to complete coverage." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 assert self.last_command_status == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 

+

324 def test_report_skip_covered_branches(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 self.make_file("main.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 import not_covered, covered 

+

327 

+

328 def normal(z): 

+

329 if z: 

+

330 print("z") 

+

331 normal(True) 

+

332 normal(False) 

+

333 """) 

+

334 self.make_file("not_covered.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 def not_covered(n): 

+

336 if n: 

+

337 print("n") 

+

338 not_covered(True) 

+

339 """) 

+

340 self.make_file("covered.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 def foo(): 

+

342 pass 

+

343 foo() 

+

344 """) 

+

345 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

346 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

347 assert self.stdout() == "n\nz\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

348 report = self.get_report(cov, skip_covered=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 

+

350 # Name Stmts Miss Branch BrPart Cover 

+

351 # -------------------------------------------------- 

+

352 # not_covered.py 4 0 2 1 83% 

+

353 # -------------------------------------------------- 

+

354 # TOTAL 13 0 4 1 94% 

+

355 # 

+

356 # 2 files skipped due to complete coverage. 

+

357 

+

358 assert self.line_count(report) == 7, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

360 assert squeezed[2] == "not_covered.py 4 0 2 1 83%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

361 assert squeezed[4] == "TOTAL 13 0 4 1 94%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

362 assert squeezed[6] == "2 files skipped due to complete coverage." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

363 

+

364 def test_report_skip_covered_branches_with_totals(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

365 self.make_file("main.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

366 import not_covered 

+

367 import also_not_run 

+

368 

+

369 def normal(z): 

+

370 if z: 

+

371 print("z") 

+

372 normal(True) 

+

373 normal(False) 

+

374 """) 

+

375 self.make_file("not_covered.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 def not_covered(n): 

+

377 if n: 

+

378 print("n") 

+

379 not_covered(True) 

+

380 """) 

+

381 self.make_file("also_not_run.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 def does_not_appear_in_this_film(ni): 

+

383 print("Ni!") 

+

384 """) 

+

385 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

386 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

387 assert self.stdout() == "n\nz\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 report = self.get_report(cov, skip_covered=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 

+

390 # Name Stmts Miss Branch BrPart Cover 

+

391 # -------------------------------------------------- 

+

392 # also_not_run.py 2 1 0 0 50% 

+

393 # not_covered.py 4 0 2 1 83% 

+

394 # -------------------------------------------------- 

+

395 # TOTAL 13 1 4 1 88% 

+

396 # 

+

397 # 1 file skipped due to complete coverage. 

+

398 

+

399 assert self.line_count(report) == 8, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

401 assert squeezed[2] == "also_not_run.py 2 1 0 0 50%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

402 assert squeezed[3] == "not_covered.py 4 0 2 1 83%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 assert squeezed[5] == "TOTAL 13 1 4 1 88%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

404 assert squeezed[7] == "1 file skipped due to complete coverage." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 

+

406 def test_report_skip_covered_all_files_covered(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

407 self.make_file("main.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 def foo(): 

+

409 pass 

+

410 foo() 

+

411 """) 

+

412 cov = coverage.Coverage(source=["."], branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

413 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

414 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 report = self.get_report(cov, skip_covered=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

416 

+

417 # Name Stmts Miss Branch BrPart Cover 

+

418 # ----------------------------------------- 

+

419 # TOTAL 3 0 0 0 100% 

+

420 # 

+

421 # 1 file skipped due to complete coverage. 

+

422 

+

423 assert self.line_count(report) == 5, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 assert squeezed[4] == "1 file skipped due to complete coverage." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

426 

+

427 report = self.get_report(cov, squeeze=False, skip_covered=True, output_format="markdown") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 

+

429 # | Name | Stmts | Miss | Branch | BrPart | Cover | 

+

430 # |---------- | -------: | -------: | -------: | -------: | -------: | 

+

431 # | **TOTAL** | **3** | **0** | **0** | **0** | **100%** | 

+

432 # 

+

433 # 1 file skipped due to complete coverage. 

+

434 

+

435 assert self.line_count(report) == 5, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

436 assert report.split("\n")[0] == ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 '| Name | Stmts | Miss | Branch | BrPart | Cover |' 

+

438 ) 

+

439 assert report.split("\n")[1] == ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 '|---------- | -------: | -------: | -------: | -------: | -------: |' 

+

441 ) 

+

442 assert report.split("\n")[2] == ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 '| **TOTAL** | **3** | **0** | **0** | **0** | **100%** |' 

+

444 ) 

+

445 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

446 assert squeezed[4] == "1 file skipped due to complete coverage." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 

+

448 total = self.get_report(cov, output_format="total", skip_covered=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 assert total == "100\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 

+

451 def test_report_skip_covered_longfilename(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

452 self.make_file("long_______________filename.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

453 def foo(): 

+

454 pass 

+

455 foo() 

+

456 """) 

+

457 cov = coverage.Coverage(source=["."], branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 self.start_import_stop(cov, "long_______________filename") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

459 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

460 report = self.get_report(cov, squeeze=False, skip_covered=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

461 

+

462 # Name Stmts Miss Branch BrPart Cover 

+

463 # ----------------------------------------- 

+

464 # TOTAL 3 0 0 0 100% 

+

465 # 

+

466 # 1 file skipped due to complete coverage. 

+

467 

+

468 assert self.line_count(report) == 5, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

469 lines = self.report_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

470 assert lines[0] == "Name Stmts Miss Branch BrPart Cover" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

472 assert squeezed[4] == "1 file skipped due to complete coverage." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

473 

+

474 def test_report_skip_covered_no_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

475 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

476 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

477 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 self.get_report(cov, skip_covered=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

479 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

480 

+

481 def test_report_skip_empty(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

482 self.make_file("main.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

483 import submodule 

+

484 

+

485 def normal(): 

+

486 print("z") 

+

487 normal() 

+

488 """) 

+

489 self.make_file("submodule/__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

490 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

491 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 assert self.stdout() == "z\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

493 report = self.get_report(cov, skip_empty=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

494 

+

495 # Name Stmts Miss Cover 

+

496 # ------------------------------------ 

+

497 # main.py 4 0 100% 

+

498 # ------------------------------------ 

+

499 # TOTAL 4 0 100% 

+

500 # 

+

501 # 1 empty file skipped. 

+

502 

+

503 assert self.line_count(report) == 7, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

504 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

505 assert squeezed[2] == "main.py 4 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 assert squeezed[4] == "TOTAL 4 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 assert squeezed[6] == "1 empty file skipped." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 

+

509 def test_report_skip_empty_no_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

510 self.make_file("__init__.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

512 self.start_import_stop(cov, "__init__") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

513 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

514 report = self.get_report(cov, skip_empty=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

515 

+

516 # Name Stmts Miss Cover 

+

517 # ------------------------------------ 

+

518 # TOTAL 0 0 100% 

+

519 # 

+

520 # 1 empty file skipped. 

+

521 

+

522 assert self.line_count(report) == 5, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 assert report.split("\n")[2] == "TOTAL 0 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

524 assert report.split("\n")[4] == "1 empty file skipped." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

525 

+

526 def test_report_precision(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

527 self.make_file(".coveragerc", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

528 [report] 

+

529 precision = 3 

+

530 omit = */site-packages/* 

+

531 """) 

+

532 self.make_file("main.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

533 import not_covered, covered 

+

534 

+

535 def normal(z): 

+

536 if z: 

+

537 print("z") 

+

538 normal(True) 

+

539 normal(False) 

+

540 """) 

+

541 self.make_file("not_covered.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

542 def not_covered(n): 

+

543 if n: 

+

544 print("n") 

+

545 not_covered(True) 

+

546 """) 

+

547 self.make_file("covered.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

548 def foo(): 

+

549 pass 

+

550 foo() 

+

551 """) 

+

552 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

553 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

554 assert self.stdout() == "n\nz\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

555 report = self.get_report(cov, squeeze=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

556 

+

557 # Name Stmts Miss Branch BrPart Cover 

+

558 # ------------------------------------------------------ 

+

559 # covered.py 3 0 0 0 100.000% 

+

560 # main.py 6 0 2 0 100.000% 

+

561 # not_covered.py 4 0 2 1 83.333% 

+

562 # ------------------------------------------------------ 

+

563 # TOTAL 13 0 4 1 94.118% 

+

564 

+

565 assert self.line_count(report) == 7, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

566 squeezed = self.squeezed_lines(report) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

567 assert squeezed[2] == "covered.py 3 0 0 0 100.000%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

568 assert squeezed[4] == "not_covered.py 4 0 2 1 83.333%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

569 assert squeezed[6] == "TOTAL 13 0 4 1 94.118%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

570 

+

571 def test_report_precision_all_zero(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

572 self.make_file("not_covered.py", """ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

573 def not_covered(n): 

+

574 if n: 

+

575 print("n") 

+

576 """) 

+

577 self.make_file("empty.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

578 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

579 self.start_import_stop(cov, "empty") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

580 report = self.get_report(cov, precision=6, squeeze=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

581 

+

582 # Name Stmts Miss Cover 

+

583 # ----------------------------------------- 

+

584 # empty.py 0 0 100.000000% 

+

585 # not_covered.py 3 3 0.000000% 

+

586 # ----------------------------------------- 

+

587 # TOTAL 3 3 0.000000% 

+

588 

+

589 assert self.line_count(report) == 6, report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

590 assert "empty.py 0 0 100.000000%" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

591 assert "not_covered.py 3 3 0.000000%" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

592 assert "TOTAL 3 3 0.000000%" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

593 

+

594 def test_dotpy_not_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

595 # We run a .py file, and when reporting, we can't parse it as Python. 

+

596 # We should get an error message in the report. 

+

597 

+

598 self.make_data_file(lines={"mycode.py": [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

599 self.make_file("mycode.py", "This isn't python at all!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

600 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

601 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

602 msg = r"Couldn't parse '.*[/\\]mycode.py' as Python source: '.*' at line 1" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

603 with pytest.raises(NotPython, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

604 self.get_report(cov, morfs=["mycode.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

605 

+

606 def test_accented_directory(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

607 # Make a file with a non-ascii character in the directory name. 

+

608 self.make_file("\xe2/accented.py", "print('accented')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

609 self.make_data_file(lines={abs_file("\xe2/accented.py"): [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

610 report_expected = ( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

611 "Name Stmts Miss Cover\n" + 

+

612 "-----------------------------------\n" + 

+

613 "\xe2/accented.py 1 0 100%\n" + 

+

614 "-----------------------------------\n" + 

+

615 "TOTAL 1 0 100%\n" 

+

616 ) 

+

617 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

618 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

619 output = self.get_report(cov, squeeze=False) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

620 assert output == report_expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

621 

+

622 def test_accenteddotpy_not_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

623 # We run a .py file with a non-ascii name, and when reporting, we can't 

+

624 # parse it as Python. We should get an error message in the report. 

+

625 

+

626 self.make_data_file(lines={"accented\xe2.py": [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

627 self.make_file("accented\xe2.py", "This isn't python at all!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

628 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

629 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

630 msg = r"Couldn't parse '.*[/\\]accented\xe2.py' as Python source: '.*' at line 1" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

631 with pytest.raises(NotPython, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

632 self.get_report(cov, morfs=["accented\xe2.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

633 

+

634 def test_dotpy_not_python_ignored(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

635 # We run a .py file, and when reporting, we can't parse it as Python, 

+

636 # but we've said to ignore errors, so there's no error reported, 

+

637 # though we still get a warning. 

+

638 self.make_file("mycode.py", "This isn't python at all!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

639 self.make_data_file(lines={"mycode.py": [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

640 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

641 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

642 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

643 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

644 self.get_report(cov, morfs=["mycode.py"], ignore_errors=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

645 assert_coverage_warnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

646 warns, 

+

647 re.compile(r"Couldn't parse Python file '.*[/\\]mycode.py' \(couldnt-parse\)"), 

+

648 ) 

+

649 

+

650 def test_dothtml_not_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

651 # We run a .html file, and when reporting, we can't parse it as 

+

652 # Python. Since it wasn't .py, no error is reported. 

+

653 

+

654 # Pretend to run an html file. 

+

655 self.make_file("mycode.html", "<h1>This isn't python at all!</h1>") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

656 self.make_data_file(lines={"mycode.html": [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

657 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

658 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

659 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

660 self.get_report(cov, morfs=["mycode.html"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

661 

+

662 def test_report_no_extension(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

663 self.make_file("xxx", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

664 # This is a python file though it doesn't look like it, like a main script. 

+

665 a = b = c = d = 0 

+

666 a = 3 

+

667 b = 4 

+

668 if not b: 

+

669 c = 6 

+

670 d = 7 

+

671 print(f"xxx: {a} {b} {c} {d}") 

+

672 """) 

+

673 self.make_data_file(lines={abs_file("xxx"): [2, 3, 4, 5, 7, 8]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

674 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

675 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

676 report = self.get_report(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

677 assert self.last_line_squeezed(report) == "TOTAL 7 1 86%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

678 

+

679 def test_report_with_chdir(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

680 self.make_file("chdir.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

681 import os 

+

682 print("Line One") 

+

683 os.chdir("subdir") 

+

684 print("Line Two") 

+

685 print(open("something").read()) 

+

686 """) 

+

687 self.make_file("subdir/something", "hello") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

688 out = self.run_command("coverage run --source=. chdir.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

689 assert out == "Line One\nLine Two\nhello\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

690 report = self.report_from_command("coverage report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

691 assert self.last_line_squeezed(report) == "TOTAL 5 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

692 report = self.report_from_command("coverage report --format=markdown") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

693 assert self.last_line_squeezed(report) == "| **TOTAL** | **5** | **0** | **100%** |" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

694 

+

695 def test_bug_156_file_not_run_should_be_zero(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

696 # https://github.com/nedbat/coveragepy/issues/156 

+

697 self.make_file("mybranch.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

698 def branch(x): 

+

699 if x: 

+

700 print("x") 

+

701 return x 

+

702 branch(1) 

+

703 """) 

+

704 self.make_file("main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

705 print("y") 

+

706 """) 

+

707 cov = coverage.Coverage(branch=True, source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

708 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

709 report = self.get_report(cov).splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

710 assert "mybranch.py 5 5 2 0 0%" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

711 

+

712 def run_TheCode_and_report_it(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

713 """A helper for the next few tests.""" 

+

714 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

715 self.start_import_stop(cov, "TheCode") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

716 return self.get_report(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

717 

+

718 def test_bug_203_mixed_case_listed_twice_with_rc(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

719 self.make_file("TheCode.py", "a = 1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

720 self.make_file(".coveragerc", "[run]\nsource = .\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

721 

+

722 report = self.run_TheCode_and_report_it() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

723 assert "TheCode" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

724 assert "thecode" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

725 

+

726 def test_bug_203_mixed_case_listed_twice(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

727 self.make_file("TheCode.py", "a = 1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

728 

+

729 report = self.run_TheCode_and_report_it() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

730 

+

731 assert "TheCode" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

732 assert "thecode" not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

733 

+

734 @pytest.mark.skipif(not env.WINDOWS, reason=".pyw files are only on Windows.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

735 def test_pyw_files(self) -> None: 

+

736 # https://github.com/nedbat/coveragepy/issues/261 

+

737 self.make_file("start.pyw", """\ 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

738 import mod 

+

739 print("In start.pyw") 

+

740 """) 

+

741 self.make_file("mod.pyw", """\ 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

742 print("In mod.pyw") 

+

743 """) 

+

744 cov = coverage.Coverage() 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

745 # start_import_stop can't import the .pyw file, so use the long form. 

+

746 cov.start() 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

747 import start # pragma: nested # pylint: disable=import-error, unused-import 3.7.windows-latest.py3.8.windows-latest.py3.9.windows-latest.py3.10.windows-latest.py3.11.windows-latest.py

+

748 cov.stop() # pragma: nested 3.7.windows-latest.py3.8.windows-latest.py3.9.windows-latest.py3.10.windows-latest.py3.11.windows-latest.py

+

749 

+

750 report = self.get_report(cov) 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

751 assert "NoSource" not in report 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

752 report_lines = report.splitlines() 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

753 assert "start.pyw 2 0 100%" in report_lines 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

754 assert "mod.pyw 1 0 100%" in report_lines 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

755 

+

756 def test_tracing_pyc_file(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

757 # Create two Python files. 

+

758 self.make_file("mod.py", "a = 1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

759 self.make_file("main.py", "import mod\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

760 

+

761 # Make one into a .pyc. 

+

762 py_compile.compile("mod.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

763 

+

764 # Run the program. 

+

765 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

766 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

767 

+

768 report_lines = self.get_report(cov).splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

769 assert "mod.py 1 0 100%" in report_lines 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

770 report = self.get_report(cov, squeeze=False, output_format="markdown") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

771 assert report.split("\n")[3] == "| mod.py | 1 | 0 | 100% |" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

772 assert report.split("\n")[4] == "| **TOTAL** | **2** | **0** | **100%** |" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

773 

+

774 def test_missing_py_file_during_run(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

775 # Create two Python files. 

+

776 self.make_file("mod.py", "a = 1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

777 self.make_file("main.py", "import mod\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

778 

+

779 # Make one into a .pyc, and remove the .py. 

+

780 py_compile.compile("mod.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

781 os.remove("mod.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

782 

+

783 # Python 3 puts the .pyc files in a __pycache__ directory, and will 

+

784 # not import from there without source. It will import a .pyc from 

+

785 # the source location though. 

+

786 pycs = glob.glob("__pycache__/mod.*.pyc") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

787 assert len(pycs) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

788 os.rename(pycs[0], "mod.pyc") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

789 

+

790 # Run the program. 

+

791 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

792 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

793 

+

794 # Put back the missing Python file. 

+

795 self.make_file("mod.py", "a = 1\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

796 report = self.get_report(cov).splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

797 assert "mod.py 1 0 100%" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

798 

+

799 def test_empty_files(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

800 # Shows that empty files like __init__.py are listed as having zero 

+

801 # statements, not one statement. 

+

802 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

803 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

804 import usepkgs # pragma: nested # pylint: disable=import-error, unused-import 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

805 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

806 report = self.get_report(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

807 assert "tests/modules/pkg1/__init__.py 1 0 0 0 100%" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

808 assert "tests/modules/pkg2/__init__.py 0 0 0 0 100%" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

809 report = self.get_report(cov, squeeze=False, output_format="markdown") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

810 # get_report() escapes backslash so we expect forward slash escaped 

+

811 # underscore 

+

812 assert "tests/modules/pkg1//_/_init/_/_.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

813 assert "| 1 | 0 | 0 | 0 | 100% |" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

814 assert "tests/modules/pkg2//_/_init/_/_.py " in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

815 assert "| 0 | 0 | 0 | 0 | 100% |" in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

816 

+

817 def test_markdown_with_missing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

818 self.make_file("mymissing.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

819 def missing(x, y): 

+

820 if x: 

+

821 print("x") 

+

822 return x 

+

823 if y: 

+

824 print("y") 

+

825 try: 

+

826 print("z") 

+

827 1/0 

+

828 print("Never!") 

+

829 except ZeroDivisionError: 

+

830 pass 

+

831 return x 

+

832 missing(0, 1) 

+

833 """) 

+

834 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

835 self.start_import_stop(cov, "mymissing") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

836 assert self.stdout() == 'y\nz\n' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

837 report = self.get_report(cov, squeeze=False, output_format="markdown", show_missing=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

838 

+

839 # | Name | Stmts | Miss | Cover | Missing | 

+

840 # |------------- | -------: | -------: | ------: | --------: | 

+

841 # | mymissing.py | 14 | 3 | 79% | 3-4, 10 | 

+

842 # | **TOTAL** | **14** | **3** | **79%** | | 

+

843 assert self.line_count(report) == 4 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

844 report_lines = report.split("\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

845 assert report_lines[2] == "| mymissing.py | 14 | 3 | 79% | 3-4, 10 |" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

846 assert report_lines[3] == "| **TOTAL** | **14** | **3** | **79%** | |" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

847 

+

848 assert self.get_report(cov, output_format="total") == "79\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

849 assert self.get_report(cov, output_format="total", precision=2) == "78.57\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

850 assert self.get_report(cov, output_format="total", precision=4) == "78.5714\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

851 

+

852 def test_bug_1524(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

853 self.make_file("bug1524.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

854 class Mine: 

+

855 @property 

+

856 def thing(self) -> int: 

+

857 return 17 

+

858 

+

859 print(Mine().thing) 

+

860 """) 

+

861 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

862 self.start_import_stop(cov, "bug1524") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

863 assert self.stdout() == "17\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

864 report = self.get_report(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

865 report_lines = report.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

866 assert report_lines[2] == "bug1524.py 5 0 100%" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

867 

+

868 

+

869class ReportingReturnValueTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

870 """Tests of reporting functions returning values.""" 

+

871 

+

872 def run_coverage(self) -> Coverage: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

873 """Run coverage on doit.py and return the coverage object.""" 

+

874 self.make_file("doit.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

875 a = 1 

+

876 b = 2 

+

877 c = 3 

+

878 d = 4 

+

879 if a > 10: 

+

880 f = 6 

+

881 g = 7 

+

882 """) 

+

883 

+

884 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

885 self.start_import_stop(cov, "doit") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

886 return cov 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

887 

+

888 def test_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

889 cov = self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

890 val = cov.report(include="*/doit.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

891 assert math.isclose(val, 6 / 7 * 100) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

892 

+

893 def test_html(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

894 cov = self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

895 val = cov.html_report(include="*/doit.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

896 assert math.isclose(val, 6 / 7 * 100) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

897 

+

898 def test_xml(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

899 cov = self.run_coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

900 val = cov.xml_report(include="*/doit.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

901 assert math.isclose(val, 6 / 7 * 100) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

902 

+

903 

+

904class SummaryReporterConfigurationTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

905 """Tests of SummaryReporter.""" 

+

906 

+

907 def make_rigged_file(self, filename: str, stmts: int, miss: int) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

908 """Create a file that will have specific results. 

+

909 

+

910 `stmts` and `miss` are ints, the number of statements, and 

+

911 missed statements that should result. 

+

912 """ 

+

913 run = stmts - miss - 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

914 dont_run = miss 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

915 source = "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

916 source += "a = 1\n" * run 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

917 source += "if a == 99:\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

918 source += " a = 2\n" * dont_run 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

919 self.make_file(filename, source) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

920 

+

921 def get_summary_text(self, *options: Tuple[str, TConfigValueIn]) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

922 """Get text output from the SummaryReporter. 

+

923 

+

924 The arguments are tuples: (name, value) for Coverage.set_option. 

+

925 """ 

+

926 self.make_rigged_file("file1.py", 339, 155) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

927 self.make_rigged_file("file2.py", 13, 3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

928 self.make_rigged_file("file10.py", 234, 228) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

929 self.make_file("doit.py", "import file1, file2, file10") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

930 

+

931 cov = Coverage(source=["."], omit=["doit.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

932 self.start_import_stop(cov, "doit") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

933 for name, value in options: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

934 cov.set_option(name, value) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

935 printer = SummaryReporter(cov) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

936 destination = io.StringIO() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

937 printer.report([], destination) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

938 return destination.getvalue() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

939 

+

940 def test_test_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

941 # We use our own test files as test data. Check that our assumptions 

+

942 # about them are still valid. We want the three columns of numbers to 

+

943 # sort in three different orders. 

+

944 report = self.get_summary_text() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

945 # Name Stmts Miss Cover 

+

946 # ------------------------------ 

+

947 # file1.py 339 155 54% 

+

948 # file2.py 13 3 77% 

+

949 # file10.py 234 228 3% 

+

950 # ------------------------------ 

+

951 # TOTAL 586 386 34% 

+

952 lines = report.splitlines()[2:-2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

953 assert len(lines) == 3 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

954 nums = [list(map(int, l.replace('%', '').split()[1:])) for l in lines] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

955 # [ 

+

956 # [339, 155, 54], 

+

957 # [ 13, 3, 77], 

+

958 # [234, 228, 3] 

+

959 # ] 

+

960 assert nums[1][0] < nums[2][0] < nums[0][0] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

961 assert nums[1][1] < nums[0][1] < nums[2][1] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

962 assert nums[2][2] < nums[0][2] < nums[1][2] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

963 

+

964 def test_defaults(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

965 """Run the report with no configuration options.""" 

+

966 report = self.get_summary_text() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

967 assert 'Missing' not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

968 assert 'Branch' not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

969 

+

970 def test_print_missing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

971 """Run the report printing the missing lines.""" 

+

972 report = self.get_summary_text(('report:show_missing', True)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

973 assert 'Missing' in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

974 assert 'Branch' not in report 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

975 

+

976 def assert_ordering(self, text: str, *words: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

977 """Assert that the `words` appear in order in `text`.""" 

+

978 indexes = list(map(text.find, words)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

979 assert -1 not in indexes 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

980 msg = f"The words {words!r} don't appear in order in {text!r}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

981 assert indexes == sorted(indexes), msg 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

982 

+

983 def test_default_sort_report(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

984 # Sort the text report by the default (Name) column. 

+

985 report = self.get_summary_text() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

986 self.assert_ordering(report, "file1.py", "file2.py", "file10.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

987 

+

988 def test_sort_report_by_name(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

989 # Sort the text report explicitly by the Name column. 

+

990 report = self.get_summary_text(('report:sort', 'Name')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

991 self.assert_ordering(report, "file1.py", "file2.py", "file10.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

992 

+

993 def test_sort_report_by_stmts(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

994 # Sort the text report by the Stmts column. 

+

995 report = self.get_summary_text(('report:sort', 'Stmts')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

996 self.assert_ordering(report, "file2.py", "file10.py", "file1.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

997 

+

998 def test_sort_report_by_missing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

999 # Sort the text report by the Missing column. 

+

1000 report = self.get_summary_text(('report:sort', 'Miss')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1001 self.assert_ordering(report, "file2.py", "file1.py", "file10.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1002 

+

1003 def test_sort_report_by_cover(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1004 # Sort the text report by the Cover column. 

+

1005 report = self.get_summary_text(('report:sort', 'Cover')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1006 self.assert_ordering(report, "file10.py", "file1.py", "file2.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1007 

+

1008 def test_sort_report_by_cover_plus(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1009 # Sort the text report by the Cover column, including the explicit + sign. 

+

1010 report = self.get_summary_text(('report:sort', '+Cover')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1011 self.assert_ordering(report, "file10.py", "file1.py", "file2.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1012 

+

1013 def test_sort_report_by_cover_reversed(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1014 # Sort the text report by the Cover column reversed. 

+

1015 report = self.get_summary_text(('report:sort', '-Cover')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1016 self.assert_ordering(report, "file2.py", "file1.py", "file10.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1017 

+

1018 def test_sort_report_by_invalid_option(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1019 # Sort the text report by a nonsense column. 

+

1020 msg = "Invalid sorting option: 'Xyzzy'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1021 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1022 self.get_summary_text(('report:sort', 'Xyzzy')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1023 

+

1024 def test_report_with_invalid_format(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1025 # Ask for an invalid format. 

+

1026 msg = "Unknown report format choice: 'xyzzy'" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1027 with pytest.raises(ConfigError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

1028 self.get_summary_text(('report:format', 'xyzzy')) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_templite_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_templite_py.html new file mode 100644 index 000000000..507f8b72a --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_templite_py.html @@ -0,0 +1,441 @@ + + + + + Coverage for tests/test_templite.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_templite.py: + 100.000% +

+ +

+ 130 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for coverage.templite.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9 

+

10from types import SimpleNamespace 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11from typing import Any, ContextManager, Dict, List, Optional 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15from coverage.templite import Templite, TempliteSyntaxError, TempliteValueError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19# pylint: disable=possibly-unused-variable 

+

20 

+

21 

+

22class TempliteTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 """Tests for Templite.""" 

+

24 

+

25 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 

+

27 def try_render( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

28 self, 

+

29 text: str, 

+

30 ctx: Optional[Dict[str, Any]] = None, 

+

31 result: Optional[str] = None, 

+

32 ) -> None: 

+

33 """Render `text` through `ctx`, and it had better be `result`. 

+

34 

+

35 Result defaults to None so we can shorten the calls where we expect 

+

36 an exception and never get to the result comparison. 

+

37 

+

38 """ 

+

39 actual = Templite(text).render(ctx or {}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 # If result is None, then an exception should have prevented us getting 

+

41 # to here. 

+

42 assert result is not None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 assert actual == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

44 

+

45 def assertSynErr(self, msg: str) -> ContextManager[None]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 """Assert that a `TempliteSyntaxError` will happen. 

+

47 

+

48 A context manager, and the message should be `msg`. 

+

49 

+

50 """ 

+

51 pat = "^" + re.escape(msg) + "$" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 return pytest.raises(TempliteSyntaxError, match=pat) # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 

+

54 def test_passthrough(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 # Strings without variables are passed through unchanged. 

+

56 assert Templite("Hello").render() == "Hello" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 assert Templite("Hello, 20% fun time!").render() == "Hello, 20% fun time!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 

+

59 def test_variables(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 # Variables use {{var}} syntax. 

+

61 self.try_render("Hello, {{name}}!", {'name':'Ned'}, "Hello, Ned!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 

+

63 def test_undefined_variables(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 # Using undefined names is an error. 

+

65 with pytest.raises(Exception, match="'name'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 self.try_render("Hi, {{name}}!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 

+

68 def test_pipes(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

69 # Variables can be filtered with pipes. 

+

70 data = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

71 'name': 'Ned', 

+

72 'upper': lambda x: x.upper(), 

+

73 'second': lambda x: x[1], 

+

74 } 

+

75 self.try_render("Hello, {{name|upper}}!", data, "Hello, NED!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

76 

+

77 # Pipes can be concatenated. 

+

78 self.try_render("Hello, {{name|upper|second}}!", data, "Hello, E!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 

+

80 def test_reusability(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

81 # A single Templite can be used more than once with different data. 

+

82 globs = { 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 'upper': lambda x: x.upper(), 

+

84 'punct': '!', 

+

85 } 

+

86 

+

87 template = Templite("This is {{name|upper}}{{punct}}", globs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 assert template.render({'name':'Ned'}) == "This is NED!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 assert template.render({'name':'Ben'}) == "This is BEN!" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

90 

+

91 def test_attribute(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 # Variables' attributes can be accessed with dots. 

+

93 obj = SimpleNamespace(a="Ay") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 self.try_render("{{obj.a}}", locals(), "Ay") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 

+

96 obj2 = SimpleNamespace(obj=obj, b="Bee") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 self.try_render("{{obj2.obj.a}} {{obj2.b}}", locals(), "Ay Bee") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 

+

99 def test_member_function(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 # Variables' member functions can be used, as long as they are nullary. 

+

101 class WithMemberFns(SimpleNamespace): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 """A class to try out member function access.""" 

+

103 def ditto(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 """Return twice the .txt attribute.""" 

+

105 return self.txt + self.txt # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 obj = WithMemberFns(txt="Once") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 self.try_render("{{obj.ditto}}", locals(), "OnceOnce") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 

+

109 def test_item_access(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 # Variables' items can be used. 

+

111 d = {'a':17, 'b':23} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 self.try_render("{{d.a}} < {{d.b}}", locals(), "17 < 23") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 

+

114 def test_loops(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 # Loops work like in Django. 

+

116 nums = [1,2,3,4] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 "Look: {% for n in nums %}{{n}}, {% endfor %}done.", 

+

119 locals(), 

+

120 "Look: 1, 2, 3, 4, done." 

+

121 ) 

+

122 # Loop iterables can be filtered. 

+

123 def rev(l: List[int]) -> List[int]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 """Return the reverse of `l`.""" 

+

125 l = l[:] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 l.reverse() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 return l 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 

+

129 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 "Look: {% for n in nums|rev %}{{n}}, {% endfor %}done.", 

+

131 locals(), 

+

132 "Look: 4, 3, 2, 1, done." 

+

133 ) 

+

134 

+

135 def test_empty_loops(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 "Empty: {% for n in nums %}{{n}}, {% endfor %}done.", 

+

138 {'nums':[]}, 

+

139 "Empty: done." 

+

140 ) 

+

141 

+

142 def test_multiline_loops(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 "Look: \n{% for n in nums %}\n{{n}}, \n{% endfor %}done.", 

+

145 {'nums':[1,2,3]}, 

+

146 "Look: \n\n1, \n\n2, \n\n3, \ndone." 

+

147 ) 

+

148 

+

149 def test_multiple_loops(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 "{% for n in nums %}{{n}}{% endfor %} and " + 

+

152 "{% for n in nums %}{{n}}{% endfor %}", 

+

153 {'nums': [1,2,3]}, 

+

154 "123 and 123" 

+

155 ) 

+

156 

+

157 def test_comments(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 # Single-line comments work: 

+

159 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 "Hello, {# Name goes here: #}{{name}}!", 

+

161 {'name':'Ned'}, "Hello, Ned!" 

+

162 ) 

+

163 # and so do multi-line comments: 

+

164 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 "Hello, {# Name\ngoes\nhere: #}{{name}}!", 

+

166 {'name':'Ned'}, "Hello, Ned!" 

+

167 ) 

+

168 

+

169 def test_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 "Hi, {% if ned %}NED{% endif %}{% if ben %}BEN{% endif %}!", 

+

172 {'ned': 1, 'ben': 0}, 

+

173 "Hi, NED!" 

+

174 ) 

+

175 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 "Hi, {% if ned %}NED{% endif %}{% if ben %}BEN{% endif %}!", 

+

177 {'ned': 0, 'ben': 1}, 

+

178 "Hi, BEN!" 

+

179 ) 

+

180 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 "Hi, {% if ned %}NED{% if ben %}BEN{% endif %}{% endif %}!", 

+

182 {'ned': 0, 'ben': 0}, 

+

183 "Hi, !" 

+

184 ) 

+

185 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 "Hi, {% if ned %}NED{% if ben %}BEN{% endif %}{% endif %}!", 

+

187 {'ned': 1, 'ben': 0}, 

+

188 "Hi, NED!" 

+

189 ) 

+

190 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 "Hi, {% if ned %}NED{% if ben %}BEN{% endif %}{% endif %}!", 

+

192 {'ned': 1, 'ben': 1}, 

+

193 "Hi, NEDBEN!" 

+

194 ) 

+

195 

+

196 def test_complex_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 class Complex(SimpleNamespace): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 """A class to try out complex data access.""" 

+

199 def getit(self): # type: ignore 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 """Return it.""" 

+

201 return self.it 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 obj = Complex(it={'x':"Hello", 'y': 0}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 "@" + 

+

205 "{% if obj.getit.x %}X{% endif %}" + 

+

206 "{% if obj.getit.y %}Y{% endif %}" + 

+

207 "{% if obj.getit.y|str %}S{% endif %}" + 

+

208 "!", 

+

209 { 'obj': obj, 'str': str }, 

+

210 "@XS!" 

+

211 ) 

+

212 

+

213 def test_loop_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 "@{% for n in nums %}{% if n %}Z{% endif %}{{n}}{% endfor %}!", 

+

216 {'nums': [0,1,2]}, 

+

217 "@0Z1Z2!" 

+

218 ) 

+

219 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 "X{%if nums%}@{% for n in nums %}{{n}}{% endfor %}{%endif%}!", 

+

221 {'nums': [0,1,2]}, 

+

222 "X@012!" 

+

223 ) 

+

224 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 "X{%if nums%}@{% for n in nums %}{{n}}{% endfor %}{%endif%}!", 

+

226 {'nums': []}, 

+

227 "X!" 

+

228 ) 

+

229 

+

230 def test_nested_loops(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

232 "@" + 

+

233 "{% for n in nums %}" + 

+

234 "{% for a in abc %}{{a}}{{n}}{% endfor %}" + 

+

235 "{% endfor %}" + 

+

236 "!", 

+

237 {'nums': [0,1,2], 'abc': ['a', 'b', 'c']}, 

+

238 "@a0b0c0a1b1c1a2b2c2!" 

+

239 ) 

+

240 

+

241 def test_whitespace_handling(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 "@{% for n in nums %}\n" + 

+

244 " {% for a in abc %}{{a}}{{n}}{% endfor %}\n" + 

+

245 "{% endfor %}!\n", 

+

246 {'nums': [0, 1, 2], 'abc': ['a', 'b', 'c']}, 

+

247 "@\n a0b0c0\n\n a1b1c1\n\n a2b2c2\n!\n" 

+

248 ) 

+

249 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 "@{% for n in nums -%}\n" + 

+

251 " {% for a in abc -%}\n" + 

+

252 " {# this disappears completely -#}\n" + 

+

253 " {{a-}}\n" + 

+

254 " {{n -}}\n" + 

+

255 " {{n -}}\n" + 

+

256 " {% endfor %}\n" + 

+

257 "{% endfor %}!\n", 

+

258 {'nums': [0, 1, 2], 'abc': ['a', 'b', 'c']}, 

+

259 "@a00b00c00\na11b11c11\na22b22c22\n!\n" 

+

260 ) 

+

261 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

262 "@{% for n in nums -%}\n" + 

+

263 " {{n -}}\n" + 

+

264 " x\n" + 

+

265 "{% endfor %}!\n", 

+

266 {'nums': [0, 1, 2]}, 

+

267 "@0x\n1x\n2x\n!\n" 

+

268 ) 

+

269 self.try_render(" hello ", {}, " hello ") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 

+

271 def test_eat_whitespace(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

272 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 "Hey!\n" + 

+

274 "{% joined %}\n" + 

+

275 "@{% for n in nums %}\n" + 

+

276 " {% for a in abc %}\n" + 

+

277 " {# this disappears completely #}\n" + 

+

278 " X\n" + 

+

279 " Y\n" + 

+

280 " {{a}}\n" + 

+

281 " {{n }}\n" + 

+

282 " {% endfor %}\n" + 

+

283 "{% endfor %}!\n" + 

+

284 "{% endjoined %}\n", 

+

285 {'nums': [0, 1, 2], 'abc': ['a', 'b', 'c']}, 

+

286 "Hey!\n@XYa0XYb0XYc0XYa1XYb1XYc1XYa2XYb2XYc2!\n" 

+

287 ) 

+

288 

+

289 def test_non_ascii(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 "{{where}} ollǝɥ", 

+

292 { 'where': 'ǝɹǝɥʇ' }, 

+

293 "ǝɹǝɥʇ ollǝɥ" 

+

294 ) 

+

295 

+

296 def test_exception_during_evaluation(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 # TypeError: Couldn't evaluate {{ foo.bar.baz }}: 

+

298 regex = "^Couldn't evaluate None.bar$" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

299 with pytest.raises(TempliteValueError, match=regex): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 self.try_render( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 "Hey {{foo.bar.baz}} there", {'foo': None}, "Hey ??? there" 

+

302 ) 

+

303 

+

304 def test_bad_names(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 with self.assertSynErr("Not a valid name: 'var%&!@'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 self.try_render("Wat: {{ var%&!@ }}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 with self.assertSynErr("Not a valid name: 'filter%&!@'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 self.try_render("Wat: {{ foo|filter%&!@ }}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 with self.assertSynErr("Not a valid name: '@'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 self.try_render("Wat: {% for @ in x %}{% endfor %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

311 

+

312 def test_bogus_tag_syntax(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 with self.assertSynErr("Don't understand tag: 'bogus'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 self.try_render("Huh: {% bogus %}!!{% endbogus %}??") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 

+

316 def test_malformed_if(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

317 with self.assertSynErr("Don't understand if: '{% if %}'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 self.try_render("Buh? {% if %}hi!{% endif %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

319 with self.assertSynErr("Don't understand if: '{% if this or that %}'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

320 self.try_render("Buh? {% if this or that %}hi!{% endif %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 

+

322 def test_malformed_for(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 with self.assertSynErr("Don't understand for: '{% for %}'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 self.try_render("Weird: {% for %}loop{% endfor %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 with self.assertSynErr("Don't understand for: '{% for x from y %}'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 self.try_render("Weird: {% for x from y %}loop{% endfor %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 with self.assertSynErr("Don't understand for: '{% for x, y in z %}'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 self.try_render("Weird: {% for x, y in z %}loop{% endfor %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 

+

330 def test_bad_nesting(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 with self.assertSynErr("Unmatched action tag: 'if'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

332 self.try_render("{% if x %}X") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 with self.assertSynErr("Mismatched end tag: 'for'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 self.try_render("{% if x %}X{% endfor %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

335 with self.assertSynErr("Too many ends: '{% endif %}'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

336 self.try_render("{% if x %}{% endif %}{% endif %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 

+

338 def test_malformed_end(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 with self.assertSynErr("Don't understand end: '{% end if %}'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 self.try_render("{% if x %}X{% end if %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 with self.assertSynErr("Don't understand end: '{% endif now %}'"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 self.try_render("{% if x %}X{% endif now %}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_testing_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_testing_py.html new file mode 100644 index 000000000..b2efd605a --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_testing_py.html @@ -0,0 +1,549 @@ + + + + + Coverage for tests/test_testing.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_testing.py: + 100.000% +

+ +

+ 235 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests that our test infrastructure is really working!""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import datetime 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12import warnings 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13 

+

14from typing import List, Tuple 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 

+

16import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

17 

+

18import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.exceptions import CoverageWarning 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.files import actual_path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.types import TArc 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 

+

23from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from tests.helpers import ( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 arcs_to_arcz_repr, arcz_to_arcs, assert_count_equal, assert_coverage_warnings, 

+

26 CheckUniqueFilenames, re_lines, re_lines_text, re_line, 

+

27) 

+

28 

+

29 

+

30def test_xdist_sys_path_nuttiness_is_fixed() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 # See conftest.py:fix_xdist_sys_path 

+

32 assert sys.path[1] != '' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 assert os.environ.get('PYTHONPATH') is None 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 

+

36def test_assert_count_equal() -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 assert_count_equal(set(), set()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 assert_count_equal({"a": 1, "b": 2}, ["b", "a"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 assert_count_equal({1,2,3}, set()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 assert_count_equal({1,2,3}, {4,5,6}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

43 

+

44 

+

45class CoverageTestTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

46 """Test the methods in `CoverageTest`.""" 

+

47 

+

48 def test_file_exists(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

49 self.make_file("whoville.txt", "We are here!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 self.assert_exists("whoville.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 self.assert_doesnt_exist("shadow.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 msg = "File 'whoville.txt' shouldn't exist" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

54 self.assert_doesnt_exist("whoville.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 msg = "File 'shadow.txt' should exist" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

56 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 self.assert_exists("shadow.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 

+

59 def test_file_count(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 self.make_file("abcde.txt", "abcde") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 self.make_file("axczz.txt", "axczz") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 self.make_file("afile.txt", "afile") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 self.assert_file_count("a*.txt", 3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 self.assert_file_count("*c*.txt", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 self.assert_file_count("afile.*", 1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 self.assert_file_count("*.q", 0) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 msg = re.escape( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

68 "There should be 13 files matching 'a*.txt', but there are these: " + 

+

69 "['abcde.txt', 'afile.txt', 'axczz.txt']" 

+

70 ) 

+

71 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 self.assert_file_count("a*.txt", 13) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 msg = re.escape( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 "There should be 12 files matching '*c*.txt', but there are these: " + 

+

75 "['abcde.txt', 'axczz.txt']" 

+

76 ) 

+

77 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

78 self.assert_file_count("*c*.txt", 12) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

79 msg = re.escape( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 "There should be 11 files matching 'afile.*', but there are these: ['afile.txt']" 

+

81 ) 

+

82 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 self.assert_file_count("afile.*", 11) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

84 msg = re.escape( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

85 "There should be 10 files matching '*.q', but there are these: []" 

+

86 ) 

+

87 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

88 self.assert_file_count("*.q", 10) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

89 

+

90 def test_assert_recent_datetime(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 def now_delta(seconds: int) -> datetime.datetime: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

92 """Make a datetime `seconds` seconds from now.""" 

+

93 return datetime.datetime.now() + datetime.timedelta(seconds=seconds) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 

+

95 # Default delta is 10 seconds. 

+

96 self.assert_recent_datetime(now_delta(0)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 self.assert_recent_datetime(now_delta(-9)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 self.assert_recent_datetime(now_delta(-11)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 self.assert_recent_datetime(now_delta(1)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

102 

+

103 # Delta is settable. 

+

104 self.assert_recent_datetime(now_delta(0), seconds=120) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

105 self.assert_recent_datetime(now_delta(-100), seconds=120) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

106 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 self.assert_recent_datetime(now_delta(-1000), seconds=120) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

108 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 self.assert_recent_datetime(now_delta(1), seconds=120) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 

+

111 def test_assert_warnings(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

113 

+

114 # Make a warning, it should catch it properly. 

+

115 with self.assert_warnings(cov, ["Hello there!"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 cov._warn("Hello there!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

117 

+

118 # The expected warnings are regexes. 

+

119 with self.assert_warnings(cov, ["Hello.*!"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 cov._warn("Hello there!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 

+

122 # There can be a bunch of actual warnings. 

+

123 with self.assert_warnings(cov, ["Hello.*!"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 cov._warn("You there?") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 cov._warn("Hello there!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 

+

127 # There can be a bunch of expected warnings. 

+

128 with self.assert_warnings(cov, ["Hello.*!", "You"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 cov._warn("You there?") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 cov._warn("Hello there!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 

+

132 # But if there are a bunch of expected warnings, they have to all happen. 

+

133 warn_regex = r"Didn't find warning 'You' in \['Hello there!'\]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 with pytest.raises(AssertionError, match=warn_regex): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 with self.assert_warnings(cov, ["Hello.*!", "You"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 cov._warn("Hello there!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 

+

138 # Make a different warning than expected, it should raise an assertion. 

+

139 warn_regex = r"Didn't find warning 'Not me' in \['Hello there!'\]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 with pytest.raises(AssertionError, match=warn_regex): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 with self.assert_warnings(cov, ["Not me"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 cov._warn("Hello there!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 

+

144 # Try checking a warning that shouldn't appear: happy case. 

+

145 with self.assert_warnings(cov, ["Hi"], not_warnings=["Bye"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 cov._warn("Hi") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 

+

148 # But it should fail if the unexpected warning does appear. 

+

149 warn_regex = r"Found warning 'Bye' in \['Hi', 'Bye'\]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 with pytest.raises(AssertionError, match=warn_regex): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 with self.assert_warnings(cov, ["Hi"], not_warnings=["Bye"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 cov._warn("Hi") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 cov._warn("Bye") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 

+

155 # assert_warnings shouldn't hide a real exception. 

+

156 with pytest.raises(ZeroDivisionError, match="oops"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 with self.assert_warnings(cov, ["Hello there!"]): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 raise ZeroDivisionError("oops") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 

+

160 def test_assert_no_warnings(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 

+

163 # Happy path: no warnings. 

+

164 with self.assert_warnings(cov, []): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

165 pass 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

166 

+

167 # If you said there would be no warnings, and there were, fail! 

+

168 warn_regex = r"Unexpected warnings: \['Watch out!'\]" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 with pytest.raises(AssertionError, match=warn_regex): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 with self.assert_warnings(cov, []): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 cov._warn("Watch out!") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 

+

173 def test_sub_python_is_this_python(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 # Try it with a Python command. 

+

175 self.set_environ('COV_FOOBAR', 'XYZZY') 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 self.make_file("showme.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 import os, sys 

+

178 print(sys.executable) 

+

179 print(os.__file__) 

+

180 print(os.environ['COV_FOOBAR']) 

+

181 """) 

+

182 out_lines = self.run_command("python showme.py").splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 assert actual_path(out_lines[0]) == actual_path(sys.executable) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

184 assert out_lines[1] == os.__file__ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 assert out_lines[2] == 'XYZZY' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 

+

187 # Try it with a "coverage debug sys" command. 

+

188 out = self.run_command("coverage debug sys") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 

+

190 executable = re_line("executable:", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 executable = executable.split(":", 1)[1].strip() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 assert _same_python_executable(executable, sys.executable) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 

+

194 # "environment: COV_FOOBAR = XYZZY" or "COV_FOOBAR = XYZZY" 

+

195 environ = re_line("COV_FOOBAR", out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

196 _, _, environ = environ.rpartition(":") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 assert environ.strip() == "COV_FOOBAR = XYZZY" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 

+

199 def test_run_command_stdout_stderr(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 # run_command should give us both stdout and stderr. 

+

201 self.make_file("outputs.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 import sys 

+

203 sys.stderr.write("StdErr\\n") 

+

204 print("StdOut") 

+

205 """) 

+

206 out = self.run_command("python outputs.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 assert "StdOut\n" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

208 assert "StdErr\n" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 

+

210 def test_stdout(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 # stdout is captured. 

+

212 print("This is stdout") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 print("Line 2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 assert self.stdout() == "This is stdout\nLine 2\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 # When we grab stdout(), it's reset. 

+

216 print("Some more") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 assert self.stdout() == "Some more\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 

+

219 

+

220class CheckUniqueFilenamesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 """Tests of CheckUniqueFilenames.""" 

+

222 

+

223 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 

+

225 class Stub: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 """A stand-in for the class we're checking.""" 

+

227 def __init__(self, x: int) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 self.x = x 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 

+

230 def method( 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

231 self, 

+

232 filename: str, 

+

233 a: int = 17, 

+

234 b: str = "hello", 

+

235 ) -> Tuple[int, str, int, str]: 

+

236 """The method we'll wrap, with args to be sure args work.""" 

+

237 return (self.x, filename, a, b) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 

+

239 def test_detect_duplicate(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 stub = self.Stub(23) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 CheckUniqueFilenames.hook(stub, "method") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 

+

243 # Two method calls with different names are fine. 

+

244 assert stub.method("file1") == (23, "file1", 17, "hello") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 assert stub.method("file2", 1723, b="what") == (23, "file2", 1723, "what") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 

+

247 # A duplicate file name trips an assertion. 

+

248 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 stub.method("file1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 

+

251 

+

252class CheckCoverageTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 """Tests of the failure assertions in check_coverage.""" 

+

254 

+

255 CODE = """\ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 a, b = 1, 1 

+

257 def oops(x): 

+

258 if x % 2: 

+

259 raise Exception("odd") 

+

260 try: 

+

261 a = 6 

+

262 oops(1) 

+

263 a = 8 

+

264 except: 

+

265 b = 10 

+

266 assert a == 6 and b == 10 

+

267 """ 

+

268 ARCZ = ".1 12 -23 34 3-2 4-2 25 56 67 78 8B 9A AB B." 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 ARCZ_MISSING = "3-2 78 8B" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

270 ARCZ_UNPREDICTED = "79" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

271 

+

272 def test_check_coverage_possible(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

273 msg = r"(?s)Possible arcs differ: .*- \(6, 3\).*\+ \(6, 7\)" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

274 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

275 self.check_coverage( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

276 self.CODE, 

+

277 arcz=self.ARCZ.replace("7", "3"), 

+

278 arcz_missing=self.ARCZ_MISSING, 

+

279 arcz_unpredicted=self.ARCZ_UNPREDICTED, 

+

280 ) 

+

281 

+

282 def test_check_coverage_missing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 msg = r"(?s)Missing arcs differ: .*- \(3, 8\).*\+ \(7, 8\)" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

284 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 self.check_coverage( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 self.CODE, 

+

287 arcz=self.ARCZ, 

+

288 arcz_missing=self.ARCZ_MISSING.replace("7", "3"), 

+

289 arcz_unpredicted=self.ARCZ_UNPREDICTED, 

+

290 ) 

+

291 

+

292 def test_check_coverage_unpredicted(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 msg = r"(?s)Unpredicted arcs differ: .*- \(3, 9\).*\+ \(7, 9\)" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 with pytest.raises(AssertionError, match=msg): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 self.check_coverage( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 self.CODE, 

+

297 arcz=self.ARCZ, 

+

298 arcz_missing=self.ARCZ_MISSING, 

+

299 arcz_unpredicted=self.ARCZ_UNPREDICTED.replace("7", "3") 

+

300 ) 

+

301 

+

302 

+

303class ReLinesTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 """Tests of `re_lines`.""" 

+

305 

+

306 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 

+

308 @pytest.mark.parametrize("pat, text, result", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 ("line", "line1\nline2\nline3\n", "line1\nline2\nline3\n"), 

+

310 ("[13]", "line1\nline2\nline3\n", "line1\nline3\n"), 

+

311 ("X", "line1\nline2\nline3\n", ""), 

+

312 ]) 

+

313 def test_re_lines(self, pat: str, text: str, result: str) -> None: 

+

314 assert re_lines_text(pat, text) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 assert re_lines(pat, text) == result.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

316 

+

317 @pytest.mark.parametrize("pat, text, result", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

318 ("line", "line1\nline2\nline3\n", ""), 

+

319 ("[13]", "line1\nline2\nline3\n", "line2\n"), 

+

320 ("X", "line1\nline2\nline3\n", "line1\nline2\nline3\n"), 

+

321 ]) 

+

322 def test_re_lines_inverted(self, pat: str, text: str, result: str) -> None: 

+

323 assert re_lines_text(pat, text, match=False) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 assert re_lines(pat, text, match=False) == result.splitlines() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 

+

326 @pytest.mark.parametrize("pat, text, result", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 ("2", "line1\nline2\nline3\n", "line2"), 

+

328 ]) 

+

329 def test_re_line(self, pat: str, text: str, result: str) -> None: 

+

330 assert re_line(pat, text) == result 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 

+

332 @pytest.mark.parametrize("pat, text", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

333 ("line", "line1\nline2\nline3\n"), # too many matches 

+

334 ("X", "line1\nline2\nline3\n"), # no matches 

+

335 ]) 

+

336 def test_re_line_bad(self, pat: str, text: str) -> None: 

+

337 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

338 re_line(pat, text) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 

+

340 

+

341def _same_python_executable(e1: str, e2: str) -> bool: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 """Determine if `e1` and `e2` refer to the same Python executable. 

+

343 

+

344 Either path could include symbolic links. The two paths might not refer 

+

345 to the exact same file, but if they are in the same directory and their 

+

346 numeric suffixes aren't different, they are the same executable. 

+

347 

+

348 """ 

+

349 e1 = os.path.abspath(os.path.realpath(e1)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 e2 = os.path.abspath(os.path.realpath(e2)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 

+

352 if os.path.dirname(e1) != os.path.dirname(e2): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

353 return False # pragma: only failure 

+

354 

+

355 e1 = os.path.basename(e1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 e2 = os.path.basename(e2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

357 

+

358 if e1 == "python" or e2 == "python" or e1 == e2: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

359 # Python and Python2.3: OK 

+

360 # Python2.3 and Python: OK 

+

361 # Python and Python: OK 

+

362 # Python2.3 and Python2.3: OK 

+

363 return True 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

364 

+

365 return False # pragma: only failure 

+

366 

+

367 

+

368class ArczTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 """Tests of arcz/arcs helpers.""" 

+

370 

+

371 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 

+

373 @pytest.mark.parametrize("arcz, arcs", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

374 (".1 12 2.", [(-1, 1), (1, 2), (2, -1)]), 

+

375 ("-11 12 2-5", [(-1, 1), (1, 2), (2, -5)]), 

+

376 ("-QA CB IT Z-A", [(-26, 10), (12, 11), (18, 29), (35, -10)]), 

+

377 ]) 

+

378 def test_arcz_to_arcs(self, arcz: str, arcs: List[TArc]) -> None: 

+

379 assert arcz_to_arcs(arcz) == arcs 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

380 

+

381 @pytest.mark.parametrize("arcs, arcz_repr", [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

382 ([(-1, 1), (1, 2), (2, -1)], "(-1, 1) # .1\n(1, 2) # 12\n(2, -1) # 2.\n"), 

+

383 ([(-1, 1), (1, 2), (2, -5)], "(-1, 1) # .1\n(1, 2) # 12\n(2, -5) # 2-5\n"), 

+

384 ([(-26, 10), (12, 11), (18, 29), (35, -10), (1, 33), (100, 7)], 

+

385 ( 

+

386 "(-26, 10) # -QA\n" + 

+

387 "(12, 11) # CB\n" + 

+

388 "(18, 29) # IT\n" + 

+

389 "(35, -10) # Z-A\n" + 

+

390 "(1, 33) # 1X\n" + 

+

391 "(100, 7) # ?7\n" 

+

392 ) 

+

393 ), 

+

394 ]) 

+

395 def test_arcs_to_arcz_repr(self, arcs: List[TArc], arcz_repr: str) -> None: 

+

396 assert arcs_to_arcz_repr(arcs) == arcz_repr 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 

+

398 

+

399class AssertCoverageWarningsTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

400 """Tests of assert_coverage_warnings""" 

+

401 

+

402 def test_one_warning(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

403 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

404 warnings.warn("Hello there", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

405 assert_coverage_warnings(warns, "Hello there") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

406 

+

407 def test_many_warnings(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

408 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

409 warnings.warn("The first", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 warnings.warn("The second", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 warnings.warn("The third", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

412 assert_coverage_warnings(warns, "The first", "The second", "The third") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

413 

+

414 def test_wrong_type(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

416 warnings.warn("Not ours", category=Warning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

417 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

418 assert_coverage_warnings(warns, "Not ours") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 

+

420 def test_wrong_message(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

421 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

422 warnings.warn("Goodbye", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

423 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

424 assert_coverage_warnings(warns, "Hello there") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

425 

+

426 def test_wrong_number_too_many(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

427 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

428 warnings.warn("The first", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

429 warnings.warn("The second", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

430 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

431 assert_coverage_warnings(warns, "The first", "The second", "The third") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

432 

+

433 def test_wrong_number_too_few(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

434 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

435 warnings.warn("The first", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

436 warnings.warn("The second", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 warnings.warn("The third", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

438 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

439 assert_coverage_warnings(warns, "The first", "The second") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 

+

441 def test_regex_matches(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

442 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

443 warnings.warn("The first", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444 assert_coverage_warnings(warns, re.compile("f?rst")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 

+

446 def test_regex_doesnt_match(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 warnings.warn("The first", category=CoverageWarning) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 assert_coverage_warnings(warns, re.compile("second")) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_venv_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_venv_py.html new file mode 100644 index 000000000..49eb1e94a --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_venv_py.html @@ -0,0 +1,432 @@ + + + + + Coverage for tests/test_venv.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_venv.py: + 100.000% +

+ +

+ 118 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests about understanding how third-party code is installed.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import shutil 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from pathlib import Path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from typing import Iterator, cast 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17from coverage import env 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19from tests.coveragetest import CoverageTest, COVERAGE_INSTALL_ARGS 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from tests.helpers import change_dir, make_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from tests.helpers import re_lines, run_command 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 

+

23 

+

24def run_in_venv(cmd: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25 r"""Run `cmd` in the virtualenv at `venv`. 

+

26 

+

27 The first word of the command will be adjusted to run it from the 

+

28 venv/bin or venv\Scripts directory. 

+

29 

+

30 Returns the text output of the command. 

+

31 """ 

+

32 words = cmd.split() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 if env.WINDOWS: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 words[0] = fr"venv\Scripts\{words[0]}.exe" 3.7.windows-latest.c3.7.windows-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.windows-latest.c3.11.windows-latest.py

+

35 else: 

+

36 words[0] = fr"venv/bin/{words[0]}" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 status, output = run_command(" ".join(words)) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 # Print the output so if it fails, we can tell what happened. 

+

39 print(output) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 assert status == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 return output 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 

+

43 

+

44@pytest.fixture(scope="session", name="venv_world") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

45def venv_world_fixture(tmp_path_factory: pytest.TempPathFactory) -> Path: 

+

46 """Create a virtualenv with a few test packages for VirtualenvTest to use. 

+

47 

+

48 Returns the directory containing the "venv" virtualenv. 

+

49 """ 

+

50 

+

51 venv_world = tmp_path_factory.mktemp("venv_world") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

52 with change_dir(venv_world): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 # Create a virtualenv. 

+

54 run_command("python -m venv venv") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 # A third-party package that installs a few different packages. 

+

57 make_file("third_pkg/third/__init__.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 import fourth 

+

59 def third(x): 

+

60 return 3 * x 

+

61 """) 

+

62 # Use plugin2.py as third.plugin 

+

63 with open(os.path.join(os.path.dirname(__file__), "plugin2.py")) as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 make_file("third_pkg/third/plugin.py", f.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

65 # A render function for plugin2 to use for dynamic file names. 

+

66 make_file("third_pkg/third/render.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

67 def render(filename, linenum): 

+

68 return "HTML: {}@{}".format(filename, linenum) 

+

69 """) 

+

70 # Another package that third can use. 

+

71 make_file("third_pkg/fourth/__init__.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 def fourth(x): 

+

73 return 4 * x 

+

74 """) 

+

75 # Some namespace packages. 

+

76 make_file("third_pkg/nspkg/fifth/__init__.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 def fifth(x): 

+

78 return 5 * x 

+

79 """) 

+

80 # The setup.py to install everything. 

+

81 make_file("third_pkg/setup.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 import setuptools 

+

83 setuptools.setup( 

+

84 name="third", 

+

85 packages=["third", "fourth", "nspkg.fifth"], 

+

86 ) 

+

87 """) 

+

88 

+

89 # Some namespace packages. 

+

90 make_file("another_pkg/nspkg/sixth/__init__.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

91 def sixth(x): 

+

92 return 6 * x 

+

93 """) 

+

94 make_file("another_pkg/setup.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

95 import setuptools 

+

96 setuptools.setup( 

+

97 name="another", 

+

98 packages=["nspkg.sixth"], 

+

99 ) 

+

100 """) 

+

101 

+

102 # Bug888 code. 

+

103 make_file("bug888/app/setup.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 from setuptools import setup 

+

105 setup( 

+

106 name='testcov', 

+

107 packages=['testcov'], 

+

108 namespace_packages=['testcov'], 

+

109 ) 

+

110 """) 

+

111 make_file("bug888/app/testcov/__init__.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 try: # pragma: no cover 

+

113 __import__('pkg_resources').declare_namespace(__name__) 

+

114 except ImportError: # pragma: no cover 

+

115 from pkgutil import extend_path 

+

116 __path__ = extend_path(__path__, __name__) 

+

117 """) 

+

118 make_file("bug888/app/testcov/main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 import pkg_resources 

+

120 for entry_point in pkg_resources.iter_entry_points('plugins'): 

+

121 entry_point.load()() 

+

122 """) 

+

123 make_file("bug888/plugin/setup.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 from setuptools import setup 

+

125 setup( 

+

126 name='testcov-plugin', 

+

127 packages=['testcov'], 

+

128 namespace_packages=['testcov'], 

+

129 entry_points={'plugins': ['testp = testcov.plugin:testp']}, 

+

130 ) 

+

131 """) 

+

132 make_file("bug888/plugin/testcov/__init__.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 try: # pragma: no cover 

+

134 __import__('pkg_resources').declare_namespace(__name__) 

+

135 except ImportError: # pragma: no cover 

+

136 from pkgutil import extend_path 

+

137 __path__ = extend_path(__path__, __name__) 

+

138 """) 

+

139 make_file("bug888/plugin/testcov/plugin.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 def testp(): 

+

141 print("Plugin here") 

+

142 """) 

+

143 

+

144 # Install everything. 

+

145 run_in_venv( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

146 "python -m pip install " + 

+

147 "./third_pkg " + 

+

148 "-e ./another_pkg " + 

+

149 "-e ./bug888/app -e ./bug888/plugin " + 

+

150 COVERAGE_INSTALL_ARGS 

+

151 ) 

+

152 shutil.rmtree("third_pkg") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

153 

+

154 return venv_world 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

155 

+

156 

+

157@pytest.fixture(params=[ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 "coverage", 

+

159 "python -m coverage", 

+

160], name="coverage_command") 

+

161def coverage_command_fixture(request: pytest.FixtureRequest) -> str: 

+

162 """Parametrized fixture to use multiple forms of "coverage" command.""" 

+

163 return cast(str, request.param) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

164 

+

165 

+

166class VirtualenvTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 """Tests of virtualenv considerations.""" 

+

168 

+

169 expected_stdout = "33\n110\n198\n1.5\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 

+

171 @pytest.fixture(autouse=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 def in_venv_world_fixture(self, venv_world: Path) -> Iterator[None]: 

+

173 """For running tests inside venv_world, and cleaning up made files.""" 

+

174 with change_dir(venv_world): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 self.make_file("myproduct.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

176 import colorsys 

+

177 import third 

+

178 import nspkg.fifth 

+

179 import nspkg.sixth 

+

180 print(third.third(11)) 

+

181 print(nspkg.fifth.fifth(22)) 

+

182 print(nspkg.sixth.sixth(33)) 

+

183 print(sum(colorsys.rgb_to_hls(1, 0, 0))) 

+

184 """) 

+

185 

+

186 self.del_environ("COVERAGE_TESTING") # To get realistic behavior 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 self.set_environ("COVERAGE_DEBUG_FILE", "debug_out.txt") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 self.set_environ("COVERAGE_DEBUG", "trace") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 

+

190 yield 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 

+

192 for fname in os.listdir("."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

193 if fname not in {"venv", "another_pkg", "bug888"}: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 os.remove(fname) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

195 

+

196 def get_trace_output(self) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 """Get the debug output of coverage.py""" 

+

198 with open("debug_out.txt") as f: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 return f.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 

+

201 def test_third_party_venv_isnt_measured(self, coverage_command: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 out = run_in_venv(coverage_command + " run --source=. myproduct.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 # In particular, this warning doesn't appear: 

+

204 # Already imported a file that will be measured: .../coverage/__main__.py 

+

205 assert out == self.expected_stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

206 

+

207 # Check that our tracing was accurate. Files are mentioned because 

+

208 # --source refers to a file. 

+

209 debug_out = self.get_trace_output() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 assert re_lines( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 r"^Not tracing .*\bexecfile.py': inside --source, but is third-party", 

+

212 debug_out, 

+

213 ) 

+

214 assert re_lines(r"^Tracing .*\bmyproduct.py", debug_out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

215 assert re_lines( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 r"^Not tracing .*\bcolorsys.py': falls outside the --source spec", 

+

217 debug_out, 

+

218 ) 

+

219 

+

220 out = run_in_venv(coverage_command + " report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 assert "myproduct.py" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

222 assert "third" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 assert "coverage" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

224 assert "colorsys" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

225 

+

226 def test_us_in_venv_isnt_measured(self, coverage_command: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 out = run_in_venv(coverage_command + " run --source=third myproduct.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 assert out == self.expected_stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 

+

230 # Check that our tracing was accurate. Modules are mentioned because 

+

231 # --source refers to a module. 

+

232 debug_out = self.get_trace_output() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 assert re_lines( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

234 r"^Not tracing .*\bexecfile.py': " + 

+

235 "module 'coverage.execfile' falls outside the --source spec", 

+

236 debug_out, 

+

237 ) 

+

238 assert re_lines( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 r"^Not tracing .*\bmyproduct.py': module 'myproduct' falls outside the --source spec", 

+

240 debug_out, 

+

241 ) 

+

242 assert re_lines( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 r"^Not tracing .*\bcolorsys.py': module 'colorsys' falls outside the --source spec", 

+

244 debug_out, 

+

245 ) 

+

246 

+

247 out = run_in_venv(coverage_command + " report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

248 assert "myproduct.py" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

249 assert "third" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 assert "coverage" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

251 assert "colorsys" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 

+

253 def test_venv_isnt_measured(self, coverage_command: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 out = run_in_venv(coverage_command + " run myproduct.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 assert out == self.expected_stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

256 

+

257 debug_out = self.get_trace_output() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 assert re_lines(r"^Not tracing .*\bexecfile.py': is part of coverage.py", debug_out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 assert re_lines(r"^Tracing .*\bmyproduct.py", debug_out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

260 assert re_lines(r"^Not tracing .*\bcolorsys.py': is in the stdlib", debug_out) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

261 

+

262 out = run_in_venv(coverage_command + " report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

263 assert "myproduct.py" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

264 assert "third" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

265 assert "coverage" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

266 assert "colorsys" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 

+

268 @pytest.mark.skipif(not env.C_TRACER, reason="Plugins are only supported with the C tracer.") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 def test_venv_with_dynamic_plugin(self, coverage_command: str) -> None: 

+

270 # https://github.com/nedbat/coveragepy/issues/1150 

+

271 # Django coverage plugin was incorrectly getting warnings: 

+

272 # "Already imported: ... django/template/blah.py" 

+

273 # It happened because coverage imported the plugin, which imported 

+

274 # Django, and then the Django files were reported as traceable. 

+

275 self.make_file(".coveragerc", "[run]\nplugins=third.plugin\n") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

276 self.make_file("myrender.py", """\ 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

277 import third.render 

+

278 print(third.render.render("hello.html", 1723)) 

+

279 """) 

+

280 out = run_in_venv(coverage_command + " run --source=. myrender.py") 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

281 # The output should not have this warning: 

+

282 # Already imported a file that will be measured: ...third/render.py (already-imported) 

+

283 assert out == "HTML: hello.html@1723\n" 3.7.macos-latest.c3.7.ubuntu-latest.c3.7.windows-latest.c3.8.macos-latest.c3.8.ubuntu-latest.c3.8.windows-latest.c3.9.macos-latest.c3.9.ubuntu-latest.c3.9.windows-latest.c3.10.macos-latest.c3.10.ubuntu-latest.c3.10.windows-latest.c3.11.macos-latest.c3.11.ubuntu-latest.c3.11.windows-latest.c

+

284 

+

285 def test_installed_namespace_packages(self, coverage_command: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

286 # https://github.com/nedbat/coveragepy/issues/1231 

+

287 # When namespace packages were installed, they were considered 

+

288 # third-party packages. Test that isn't still happening. 

+

289 out = run_in_venv(coverage_command + " run --source=nspkg myproduct.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 # In particular, this warning doesn't appear: 

+

291 # Already imported a file that will be measured: .../coverage/__main__.py 

+

292 assert out == self.expected_stdout 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 

+

294 # Check that our tracing was accurate. Files are mentioned because 

+

295 # --source refers to a file. 

+

296 debug_out = self.get_trace_output() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

297 assert re_lines( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 r"^Not tracing .*\bexecfile.py': " + 

+

299 "module 'coverage.execfile' falls outside the --source spec", 

+

300 debug_out, 

+

301 ) 

+

302 assert re_lines( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

303 r"^Not tracing .*\bmyproduct.py': module 'myproduct' falls outside the --source spec", 

+

304 debug_out, 

+

305 ) 

+

306 assert re_lines( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 r"^Not tracing .*\bcolorsys.py': module 'colorsys' falls outside the --source spec", 

+

308 debug_out, 

+

309 ) 

+

310 

+

311 out = run_in_venv(coverage_command + " report") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 

+

313 # Name Stmts Miss Cover 

+

314 # ------------------------------------------------------------------------------ 

+

315 # another_pkg/nspkg/sixth/__init__.py 2 0 100% 

+

316 # venv/lib/python3.9/site-packages/nspkg/fifth/__init__.py 2 0 100% 

+

317 # ------------------------------------------------------------------------------ 

+

318 # TOTAL 4 0 100% 

+

319 

+

320 assert "myproduct.py" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

321 assert "third" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

322 assert "coverage" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 assert "colorsys" not in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

324 assert "fifth" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 assert "sixth" in out 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 

+

327 def test_bug_888(self, coverage_command: str) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 out = run_in_venv( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

329 coverage_command + 

+

330 " run --source=bug888/app,bug888/plugin bug888/app/testcov/main.py" 

+

331 ) 

+

332 # When the test fails, the output includes "Already imported a file that will be measured" 

+

333 assert out == "Plugin here\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_version_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_version_py.html new file mode 100644 index 000000000..bd0702a29 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_version_py.html @@ -0,0 +1,141 @@ + + + + + Coverage for tests/test_version.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_version.py: + 100.000% +

+ +

+ 28 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests of version.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9from coverage.version import _make_url, _make_version 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10 

+

11from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

12 

+

13 

+

14class VersionTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

15 """Tests of version.py""" 

+

16 

+

17 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18 

+

19 def test_version_info(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20 # Make sure we didn't screw up the version_info tuple. 

+

21 assert isinstance(coverage.version_info, tuple) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 assert [type(d) for d in coverage.version_info] == [int, int, int, str, int] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

23 assert coverage.version_info[3] in {'alpha', 'beta', 'candidate', 'final'} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24 

+

25 def test_make_version(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 assert _make_version(4, 0, 0, 'alpha') == "4.0.0a0" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

27 assert _make_version(4, 0, 0, 'alpha', 1) == "4.0.0a1" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

28 assert _make_version(4, 0, 0, 'final') == "4.0.0" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 assert _make_version(4, 1, 0) == "4.1.0" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

30 assert _make_version(4, 1, 2, 'beta', 3) == "4.1.2b3" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

31 assert _make_version(4, 1, 2) == "4.1.2" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 assert _make_version(5, 10, 2, 'candidate', 7) == "5.10.2rc7" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

33 assert _make_version(5, 10, 2, 'candidate', 7, 3) == "5.10.2rc7.dev3" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 

+

35 def test_make_url(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 assert _make_url(4, 0, 0, 'final') == "https://coverage.readthedocs.io" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 expected = "https://coverage.readthedocs.io/en/4.1.2b3" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 assert _make_url(4, 1, 2, 'beta', 3) == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 expected = "https://coverage.readthedocs.io/en/4.1.2b3.dev17" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

40 assert _make_url(4, 1, 2, 'beta', 3, 17) == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 expected = "https://coverage.readthedocs.io/en/4.1.2.dev17" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

42 assert _make_url(4, 1, 2, 'final', 0, 17) == expected 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_xml_py.html b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_xml_py.html new file mode 100644 index 000000000..4674ac462 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_a44f0ac069e85531_test_xml_py.html @@ -0,0 +1,623 @@ + + + + + Coverage for tests/test_xml.py: 100.000% + + + + + +
+
+

+ Coverage for tests/test_xml.py: + 100.000% +

+ +

+ 286 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4"""Tests for XML reports from coverage.py.""" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

5 

+

6from __future__ import annotations 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7 

+

8import os 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

9import os.path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

10import re 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

11 

+

12from typing import Any, Dict, Iterator, Tuple, Union 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

13from xml.etree import ElementTree 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

14 

+

15import pytest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

16 

+

17import coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

18from coverage import Coverage 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

19from coverage.exceptions import NoDataError 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

20from coverage.files import abs_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

21from coverage.misc import import_local_file 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

22 

+

23from tests.coveragetest import CoverageTest 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

24from tests.goldtest import compare, gold_path 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

25from tests.helpers import assert_coverage_warnings, change_dir 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

26 

+

27 

+

28class XmlTestHelpers(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

29 """Methods to use from XML tests.""" 

+

30 

+

31 def run_doit(self) -> Coverage: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

32 """Construct a simple sub-package.""" 

+

33 self.make_file("sub/__init__.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

34 self.make_file("sub/doit.py", "print('doit!')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

35 self.make_file("main.py", "import sub.doit") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

36 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

37 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

38 return cov 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

39 

+

40 def make_tree(self, width: int, depth: int, curdir: str = ".") -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

41 """Make a tree of packages. 

+

42 

+

43 Makes `width` directories, named d0 .. d{width-1}. Each directory has 

+

44 __init__.py, and `width` files, named f0.py .. f{width-1}.py. Each 

+

45 directory also has `width` sub-directories, in the same fashion, until 

+

46 a depth of `depth` is reached. 

+

47 

+

48 """ 

+

49 if depth == 0: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

50 return 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

51 

+

52 def here(p: str) -> str: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

53 """A path for `p` in our currently interesting directory.""" 

+

54 return os.path.join(curdir, p) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

55 

+

56 for i in range(width): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

57 next_dir = here(f"d{i}") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

58 self.make_tree(width, depth-1, next_dir) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

59 if curdir != ".": 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

60 self.make_file(here("__init__.py"), "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

61 for i in range(width): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

62 filename = here(f"f{i}.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

63 self.make_file(filename, f"# {filename}\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

64 

+

65 def assert_source( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

66 self, 

+

67 xmldom: Union[ElementTree.Element, ElementTree.ElementTree], 

+

68 src: str, 

+

69 ) -> None: 

+

70 """Assert that the XML has a <source> element with `src`.""" 

+

71 src = abs_file(src) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

72 elts = xmldom.findall(".//sources/source") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

73 assert any(elt.text == src for elt in elts) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

74 

+

75 

+

76class XmlTestHelpersTest(XmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

77 """Tests of methods in XmlTestHelpers.""" 

+

78 

+

79 run_in_temp_dir = False 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

80 

+

81 def test_assert_source(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

82 dom = ElementTree.fromstring("""\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

83 <doc> 

+

84 <src>foo</src> 

+

85 <sources> 

+

86 <source>{cwd}something</source> 

+

87 <source>{cwd}another</source> 

+

88 </sources> 

+

89 </doc> 

+

90 """.format(cwd=abs_file(".")+os.sep)) 

+

91 

+

92 self.assert_source(dom, "something") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

93 self.assert_source(dom, "another") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

94 

+

95 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

96 self.assert_source(dom, "hello") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

97 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

98 self.assert_source(dom, "foo") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

99 with pytest.raises(AssertionError): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

100 self.assert_source(dom, "thing") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

101 

+

102 

+

103class XmlReportTest(XmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

104 """Tests of the XML reports from coverage.py.""" 

+

105 

+

106 def make_mycode_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

107 """Pretend that we ran mycode.py, so we can report on it.""" 

+

108 self.make_file("mycode.py", "print('hello')\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

109 self.make_data_file(lines={abs_file("mycode.py"): [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

110 

+

111 def run_xml_report(self, **kwargs: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

112 """Run xml_report()""" 

+

113 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

114 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

115 cov.xml_report(**kwargs) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

116 

+

117 def test_default_file_placement(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

118 self.make_mycode_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

119 self.run_xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

120 self.assert_exists("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

121 assert self.stdout() == "" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

122 

+

123 def test_argument_affects_xml_placement(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

124 self.make_mycode_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

125 cov = coverage.Coverage(messages=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

126 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

127 cov.xml_report(outfile="put_it_there.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

128 assert self.stdout() == "Wrote XML report to put_it_there.xml\n" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

129 self.assert_doesnt_exist("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

130 self.assert_exists("put_it_there.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

131 

+

132 def test_output_directory_does_not_exist(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

133 self.make_mycode_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

134 self.run_xml_report(outfile="nonexistent/put_it_there.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

135 self.assert_doesnt_exist("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

136 self.assert_doesnt_exist("put_it_there.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

137 self.assert_exists("nonexistent/put_it_there.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

138 

+

139 def test_config_affects_xml_placement(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

140 self.make_mycode_data() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

141 self.make_file(".coveragerc", "[xml]\noutput = xml.out\n") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

142 self.run_xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

143 self.assert_doesnt_exist("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

144 self.assert_exists("xml.out") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

145 

+

146 def test_no_data(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

147 # https://github.com/nedbat/coveragepy/issues/210 

+

148 with pytest.raises(NoDataError, match="No data to report."): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

149 self.run_xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

150 self.assert_doesnt_exist("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

151 self.assert_doesnt_exist(".coverage") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

152 

+

153 def test_no_source(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

154 # Written while investigating a bug, might as well keep it. 

+

155 # https://github.com/nedbat/coveragepy/issues/208 

+

156 self.make_file("innocuous.py", "a = 4") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

157 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

158 self.start_import_stop(cov, "innocuous") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

159 os.remove("innocuous.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

160 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

161 cov.xml_report(ignore_errors=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

162 assert_coverage_warnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

163 warns, 

+

164 re.compile(r"Couldn't parse '.*innocuous.py'. \(couldnt-parse\)"), 

+

165 ) 

+

166 self.assert_exists("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

167 

+

168 def test_filename_format_showing_everything(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

169 cov = self.run_doit() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

170 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

171 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

172 elts = dom.findall(".//class[@name='doit.py']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

173 assert len(elts) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

174 assert elts[0].get('filename') == "sub/doit.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

175 

+

176 def test_filename_format_including_filename(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

177 cov = self.run_doit() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

178 cov.xml_report(["sub/doit.py"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

179 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

180 elts = dom.findall(".//class[@name='doit.py']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

181 assert len(elts) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

182 assert elts[0].get('filename') == "sub/doit.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

183 

+

184 def test_filename_format_including_module(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

185 cov = self.run_doit() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

186 import sub.doit # pylint: disable=import-error 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

187 cov.xml_report([sub.doit]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

188 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

189 elts = dom.findall(".//class[@name='doit.py']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

190 assert len(elts) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

191 assert elts[0].get('filename') == "sub/doit.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

192 

+

193 def test_reporting_on_nothing(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

194 # Used to raise a zero division error: 

+

195 # https://github.com/nedbat/coveragepy/issues/250 

+

196 self.make_file("empty.py", "") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

197 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

198 empty = self.start_import_stop(cov, "empty") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

199 cov.xml_report([empty]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

200 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

201 elts = dom.findall(".//class[@name='empty.py']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

202 assert len(elts) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

203 assert elts[0].get('filename') == "empty.py" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

204 assert elts[0].get('line-rate') == '1' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

205 

+

206 def test_empty_file_is_100_not_0(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

207 # https://github.com/nedbat/coveragepy/issues/345 

+

208 cov = self.run_doit() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

209 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

210 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

211 elts = dom.findall(".//class[@name='__init__.py']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

212 assert len(elts) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

213 assert elts[0].get('line-rate') == '1' 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

214 

+

215 def test_empty_file_is_skipped(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

216 cov = self.run_doit() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

217 cov.xml_report(skip_empty=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

218 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

219 elts = dom.findall(".//class[@name='__init__.py']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

220 assert len(elts) == 0 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

221 

+

222 def test_curdir_source(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

223 # With no source= option, the XML report should explain that the source 

+

224 # is in the current directory. 

+

225 cov = self.run_doit() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

226 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

227 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

228 self.assert_source(dom, ".") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

229 sources = dom.findall(".//source") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

230 assert len(sources) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

231 

+

232 def test_deep_source(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

233 # When using source=, the XML report needs to mention those directories 

+

234 # in the <source> elements. 

+

235 # https://github.com/nedbat/coveragepy/issues/439 

+

236 self.make_file("src/main/foo.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

237 self.make_file("also/over/there/bar.py", "b = 2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

238 cov = coverage.Coverage(source=["src/main", "also/over/there", "not/really"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

239 cov.start() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

240 mod_foo = import_local_file("foo", "src/main/foo.py") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

241 mod_bar = import_local_file("bar", "also/over/there/bar.py") # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

242 cov.stop() # pragma: nested 3.7.macos-latest.py3.7.ubuntu-latest.py3.7.windows-latest.py3.8.macos-latest.py3.8.ubuntu-latest.py3.8.windows-latest.py3.9.macos-latest.py3.9.ubuntu-latest.py3.9.windows-latest.py3.10.macos-latest.py3.10.ubuntu-latest.py3.10.windows-latest.py3.11.macos-latest.py3.11.ubuntu-latest.py3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

243 with pytest.warns(Warning) as warns: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

244 cov.xml_report([mod_foo, mod_bar]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

245 assert_coverage_warnings( 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

246 warns, 

+

247 "Module not/really was never imported. (module-not-imported)", 

+

248 ) 

+

249 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

250 

+

251 self.assert_source(dom, "src/main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

252 self.assert_source(dom, "also/over/there") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

253 sources = dom.findall(".//source") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

254 assert len(sources) == 2 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

255 

+

256 foo_class = dom.findall(".//class[@name='foo.py']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

257 assert len(foo_class) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

258 assert foo_class[0].attrib == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

259 'branch-rate': '0', 

+

260 'complexity': '0', 

+

261 'filename': 'foo.py', 

+

262 'line-rate': '1', 

+

263 'name': 'foo.py', 

+

264 } 

+

265 

+

266 bar_class = dom.findall(".//class[@name='bar.py']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

267 assert len(bar_class) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

268 assert bar_class[0].attrib == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

269 'branch-rate': '0', 

+

270 'complexity': '0', 

+

271 'filename': 'bar.py', 

+

272 'line-rate': '1', 

+

273 'name': 'bar.py', 

+

274 } 

+

275 

+

276 def test_nonascii_directory(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

277 # https://github.com/nedbat/coveragepy/issues/573 

+

278 self.make_file("테스트/program.py", "a = 1") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

279 with change_dir("테스트"): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

280 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

281 self.start_import_stop(cov, "program") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

282 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

283 

+

284 def test_accented_dot_py(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

285 # Make a file with a non-ascii character in the filename. 

+

286 self.make_file("h\xe2t.py", "print('accented')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

287 self.make_data_file(lines={abs_file("h\xe2t.py"): [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

288 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

289 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

290 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

291 # The XML report is always UTF8-encoded. 

+

292 with open("coverage.xml", "rb") as xmlf: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

293 xml = xmlf.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

294 assert ' filename="h\xe2t.py"'.encode() in xml 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

295 assert ' name="h\xe2t.py"'.encode() in xml 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

296 

+

297 def test_accented_directory(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

298 # Make a file with a non-ascii character in the directory name. 

+

299 self.make_file("\xe2/accented.py", "print('accented')") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

300 self.make_data_file(lines={abs_file("\xe2/accented.py"): [1]}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

301 

+

302 # The XML report is always UTF8-encoded. 

+

303 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

304 cov.load() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

305 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

306 with open("coverage.xml", "rb") as xmlf: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

307 xml = xmlf.read() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

308 assert b' filename="\xc3\xa2/accented.py"' in xml 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

309 assert b' name="accented.py"' in xml 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

310 

+

311 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

312 elts = dom.findall(".//package[@name='â']") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

313 assert len(elts) == 1 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

314 assert elts[0].attrib == { 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

315 "branch-rate": "0", 

+

316 "complexity": "0", 

+

317 "line-rate": "1", 

+

318 "name": "â", 

+

319 } 

+

320 

+

321 

+

322def unbackslash(v: Any) -> Any: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

323 """Find strings in `v`, and replace backslashes with slashes throughout.""" 

+

324 if isinstance(v, (tuple, list)): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

325 return [unbackslash(vv) for vv in v] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

326 elif isinstance(v, dict): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

327 return {k: unbackslash(vv) for k, vv in v.items()} 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

328 else: 

+

329 assert isinstance(v, str) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

330 return v.replace("\\", "/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

331 

+

332 

+

333class XmlPackageStructureTest(XmlTestHelpers, CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

334 """Tests about the package structure reported in the coverage.xml file.""" 

+

335 

+

336 def package_and_class_tags(self, cov: Coverage) -> Iterator[Tuple[str, Dict[str, Any]]]: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

337 """Run an XML report on `cov`, and get the package and class tags.""" 

+

338 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

339 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

340 for node in dom.iter(): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

341 if node.tag in ('package', 'class'): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

342 yield (node.tag, {a:v for a,v in node.items() if a in ('name', 'filename')}) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

343 

+

344 def assert_package_and_class_tags(self, cov: Coverage, result: Any) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

345 """Check the XML package and class tags from `cov` match `result`.""" 

+

346 assert unbackslash(list(self.package_and_class_tags(cov))) == unbackslash(result) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

347 

+

348 def test_package_names(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

349 self.make_tree(width=1, depth=3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

350 self.make_file("main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

351 from d0.d0 import f0 

+

352 """) 

+

353 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

354 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

355 self.assert_package_and_class_tags(cov, [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

356 ('package', {'name': "."}), 

+

357 ('class', {'filename': "main.py", 'name': "main.py"}), 

+

358 ('package', {'name': "d0"}), 

+

359 ('class', {'filename': "d0/__init__.py", 'name': "__init__.py"}), 

+

360 ('class', {'filename': "d0/f0.py", 'name': "f0.py"}), 

+

361 ('package', {'name': "d0.d0"}), 

+

362 ('class', {'filename': "d0/d0/__init__.py", 'name': "__init__.py"}), 

+

363 ('class', {'filename': "d0/d0/f0.py", 'name': "f0.py"}), 

+

364 ]) 

+

365 

+

366 def test_package_depth_1(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

367 self.make_tree(width=1, depth=4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

368 self.make_file("main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

369 from d0.d0 import f0 

+

370 """) 

+

371 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

372 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

373 

+

374 cov.set_option("xml:package_depth", 1) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

375 self.assert_package_and_class_tags(cov, [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

376 ('package', {'name': "."}), 

+

377 ('class', {'filename': "main.py", 'name': "main.py"}), 

+

378 ('package', {'name': "d0"}), 

+

379 ('class', {'filename': "d0/__init__.py", 'name': "__init__.py"}), 

+

380 ('class', {'filename': "d0/d0/__init__.py", 'name': "d0/__init__.py"}), 

+

381 ('class', {'filename': "d0/d0/d0/__init__.py", 'name': "d0/d0/__init__.py"}), 

+

382 ('class', {'filename': "d0/d0/d0/f0.py", 'name': "d0/d0/f0.py"}), 

+

383 ('class', {'filename': "d0/d0/f0.py", 'name': "d0/f0.py"}), 

+

384 ('class', {'filename': "d0/f0.py", 'name': "f0.py"}), 

+

385 ]) 

+

386 

+

387 def test_package_depth_2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

388 self.make_tree(width=1, depth=4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

389 self.make_file("main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

390 from d0.d0 import f0 

+

391 """) 

+

392 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

393 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

394 

+

395 cov.set_option("xml:package_depth", 2) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

396 self.assert_package_and_class_tags(cov, [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

397 ('package', {'name': "."}), 

+

398 ('class', {'filename': "main.py", 'name': "main.py"}), 

+

399 ('package', {'name': "d0"}), 

+

400 ('class', {'filename': "d0/__init__.py", 'name': "__init__.py"}), 

+

401 ('class', {'filename': "d0/f0.py", 'name': "f0.py"}), 

+

402 ('package', {'name': "d0.d0"}), 

+

403 ('class', {'filename': "d0/d0/__init__.py", 'name': "__init__.py"}), 

+

404 ('class', {'filename': "d0/d0/d0/__init__.py", 'name': "d0/__init__.py"}), 

+

405 ('class', {'filename': "d0/d0/d0/f0.py", 'name': "d0/f0.py"}), 

+

406 ('class', {'filename': "d0/d0/f0.py", 'name': "f0.py"}), 

+

407 ]) 

+

408 

+

409 def test_package_depth_3(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

410 self.make_tree(width=1, depth=4) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

411 self.make_file("main.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

412 from d0.d0 import f0 

+

413 """) 

+

414 cov = coverage.Coverage(source=["."]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

415 self.start_import_stop(cov, "main") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

416 

+

417 cov.set_option("xml:package_depth", 3) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

418 self.assert_package_and_class_tags(cov, [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

419 ('package', {'name': "."}), 

+

420 ('class', {'filename': "main.py", 'name': "main.py"}), 

+

421 ('package', {'name': "d0"}), 

+

422 ('class', {'filename': "d0/__init__.py", 'name': "__init__.py"}), 

+

423 ('class', {'filename': "d0/f0.py", 'name': "f0.py"}), 

+

424 ('package', {'name': "d0.d0"}), 

+

425 ('class', {'filename': "d0/d0/__init__.py", 'name': "__init__.py"}), 

+

426 ('class', {'filename': "d0/d0/f0.py", 'name': "f0.py"}), 

+

427 ('package', {'name': "d0.d0.d0"}), 

+

428 ('class', {'filename': "d0/d0/d0/__init__.py", 'name': "__init__.py"}), 

+

429 ('class', {'filename': "d0/d0/d0/f0.py", 'name': "f0.py"}), 

+

430 ]) 

+

431 

+

432 def test_source_prefix(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

433 # https://github.com/nedbat/coveragepy/issues/465 

+

434 # https://github.com/nedbat/coveragepy/issues/526 

+

435 self.make_file("src/mod.py", "print(17)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

436 cov = coverage.Coverage(source=["src"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

437 self.start_import_stop(cov, "mod", modfile="src/mod.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

438 

+

439 self.assert_package_and_class_tags(cov, [ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

440 ('package', {'name': "."}), 

+

441 ('class', {'filename': "mod.py", 'name': "mod.py"}), 

+

442 ]) 

+

443 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

444 self.assert_source(dom, "src") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

445 

+

446 def test_relative_source(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

447 self.make_file("src/mod.py", "print(17)") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

448 cov = coverage.Coverage(source=["src"]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

449 cov.set_option("run:relative_files", True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

450 self.start_import_stop(cov, "mod", modfile="src/mod.py") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

451 cov.xml_report() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

452 

+

453 with open("coverage.xml") as x: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

454 print(x.read()) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

455 dom = ElementTree.parse("coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

456 elts = dom.findall(".//sources/source") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

457 assert [elt.text for elt in elts] == ["src"] 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

458 

+

459 

+

460def compare_xml(expected: str, actual: str, actual_extra: bool = False) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

461 """Specialized compare function for our XML files.""" 

+

462 source_path = coverage.files.relative_directory().rstrip(r"\/") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

463 

+

464 scrubs=[ 3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

465 (r' timestamp="\d+"', ' timestamp="TIMESTAMP"'), 

+

466 (r' version="[-.\w]+"', ' version="VERSION"'), 

+

467 (r'<source>\s*.*?\s*</source>', '<source>%s</source>' % re.escape(source_path)), 

+

468 (r'/coverage.readthedocs.io/?[-.\w/]*', '/coverage.readthedocs.io/VER'), 

+

469 ] 

+

470 compare(expected, actual, scrubs=scrubs, actual_extra=actual_extra) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

471 

+

472 

+

473class XmlGoldTest(CoverageTest): 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

474 """Tests of XML reporting that use gold files.""" 

+

475 

+

476 def test_a_xml_1(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

477 self.make_file("a.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

478 if 1 < 2: 

+

479 # Needed a < to look at HTML entities. 

+

480 a = 3 

+

481 else: 

+

482 a = 4 

+

483 """) 

+

484 

+

485 cov = coverage.Coverage() 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

486 a = self.start_import_stop(cov, "a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

487 cov.xml_report(a, outfile="coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

488 compare_xml(gold_path("xml/x_xml"), ".", actual_extra=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

489 

+

490 def test_a_xml_2(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

491 self.make_file("a.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

492 if 1 < 2: 

+

493 # Needed a < to look at HTML entities. 

+

494 a = 3 

+

495 else: 

+

496 a = 4 

+

497 """) 

+

498 

+

499 self.make_file("run_a_xml_2.ini", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

500 # Put all the XML output in xml_2 

+

501 [xml] 

+

502 output = xml_2/coverage.xml 

+

503 """) 

+

504 

+

505 cov = coverage.Coverage(config_file="run_a_xml_2.ini") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

506 a = self.start_import_stop(cov, "a") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

507 cov.xml_report(a) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

508 compare_xml(gold_path("xml/x_xml"), "xml_2") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

509 

+

510 def test_y_xml_branch(self) -> None: 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

511 self.make_file("y.py", """\ 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

512 def choice(x): 

+

513 if x < 2: 

+

514 return 3 

+

515 else: 

+

516 return 4 

+

517 

+

518 assert choice(1) == 3 

+

519 """) 

+

520 

+

521 cov = coverage.Coverage(branch=True) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

522 y = self.start_import_stop(cov, "y") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

523 cov.xml_report(y, outfile="y_xml_branch/coverage.xml") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

524 compare_xml(gold_path("xml/y_xml_branch"), "y_xml_branch") 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_b6edb070e3fc09e6___init___py.html b/reports/20230214_7887212bda/htmlcov/d_b6edb070e3fc09e6___init___py.html new file mode 100644 index 000000000..27ebb4055 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_b6edb070e3fc09e6___init___py.html @@ -0,0 +1,100 @@ + + + + + Coverage for tests/modules/aa/bb/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/aa/bb/__init__.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# bb 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_b6edb070e3fc09e6_bfile_py.html b/reports/20230214_7887212bda/htmlcov/d_b6edb070e3fc09e6_bfile_py.html new file mode 100644 index 000000000..fb0dd820d --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_b6edb070e3fc09e6_bfile_py.html @@ -0,0 +1,100 @@ + + + + + Coverage for tests/modules/aa/bb/bfile.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/aa/bb/bfile.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# bfile.py 

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_fadd8618b2c66c56_runmod1_py.html b/reports/20230214_7887212bda/htmlcov/d_fadd8618b2c66c56_runmod1_py.html new file mode 100644 index 000000000..550924a11 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_fadd8618b2c66c56_runmod1_py.html @@ -0,0 +1,105 @@ + + + + + Coverage for tests/modules/runmod1.py: 100.000% + + + + + +
+
+

+ Coverage for tests/modules/runmod1.py: + 100.000% +

+ +

+ 2 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4# Used in the tests for PyRunner 

+

5import sys 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

6print("runmod1: passed %s" % sys.argv[1]) 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_fbc9d66a161c9b82___init___py.html b/reports/20230214_7887212bda/htmlcov/d_fbc9d66a161c9b82___init___py.html new file mode 100644 index 000000000..616af668c --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_fbc9d66a161c9b82___init___py.html @@ -0,0 +1,99 @@ + + + + + Coverage for tests/zip1.zip/zip1/__init__.py: 100.000% + + + + + +
+
+

+ Coverage for tests/zip1.zip/zip1/__init__.py: + 100.000% +

+ +

+ 0 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/d_fbc9d66a161c9b82_zip1_py.html b/reports/20230214_7887212bda/htmlcov/d_fbc9d66a161c9b82_zip1_py.html new file mode 100644 index 000000000..8c2b68e9c --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/d_fbc9d66a161c9b82_zip1_py.html @@ -0,0 +1,106 @@ + + + + + Coverage for tests/zip1.zip/zip1/zip1.py: 100.000% + + + + + +
+
+

+ Coverage for tests/zip1.zip/zip1/zip1.py: + 100.000% +

+ +

+ 2 statements   + + + + +

+

+ « prev     + ^ index     + » next +       + coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+ +
+
+
+

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

+

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

+

3 

+

4# My zip file! 

+

5 

+

6lighter = "Zippo" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+

7says = "coo-coo cachoo" 3.7.macos-latest.c3.7.macos-latest.py3.7.ubuntu-latest.c3.7.ubuntu-latest.py3.7.windows-latest.c3.7.windows-latest.py3.8.macos-latest.c3.8.macos-latest.py3.8.ubuntu-latest.c3.8.ubuntu-latest.py3.8.windows-latest.c3.8.windows-latest.py3.9.macos-latest.c3.9.macos-latest.py3.9.ubuntu-latest.c3.9.ubuntu-latest.py3.9.windows-latest.c3.9.windows-latest.py3.10.macos-latest.c3.10.macos-latest.py3.10.ubuntu-latest.c3.10.ubuntu-latest.py3.10.windows-latest.c3.10.windows-latest.py3.11.macos-latest.c3.11.macos-latest.py3.11.ubuntu-latest.c3.11.ubuntu-latest.py3.11.windows-latest.c3.11.windows-latest.pypypy-3.7.ubuntu-latest.pypypy-3.8.ubuntu-latest.pypypy-3.9.ubuntu-latest.py

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/favicon_32.png b/reports/20230214_7887212bda/htmlcov/favicon_32.png new file mode 100644 index 000000000..8649f0475 Binary files /dev/null and b/reports/20230214_7887212bda/htmlcov/favicon_32.png differ diff --git a/reports/20230214_7887212bda/htmlcov/index.html b/reports/20230214_7887212bda/htmlcov/index.html new file mode 100644 index 000000000..8a7ee065e --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/index.html @@ -0,0 +1,1118 @@ + + + + + Coverage.py metacov + + + + + +
+
+

Coverage.py metacov: + 96.129% +

+ +
+ +
+

+ coverage.py v7.2.0a0.dev1, + created at 2023-02-14 12:51 +0000 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Modulestatementsmissingexcludedbranchespartialcoverage
coverage/__init__.py140000100.000%
coverage/__main__.py40000100.000%
coverage/annotate.py600226198.837%
coverage/bytecode.py120060100.000%
coverage/cmdline.py315113129299.324%
coverage/collector.py25073798667.529%
coverage/config.py270001040100.000%
coverage/context.py389018073.214%
coverage/control.py4403471681290.789%
coverage/data.py1053046495.364%
coverage/debug.py17338752396.444%
coverage/disposition.py31846062.162%
coverage/env.py571020197.403%
coverage/exceptions.py230000100.000%
coverage/execfile.py1811048298.690%
coverage/files.py25446127298.425%
coverage/html.py3060131080100.000%
coverage/inorout.py3226931742276.411%
coverage/jsonreport.py4703120100.000%
coverage/lcovreport.py5503200100.000%
coverage/misc.py1773462397.490%
coverage/multiproc.py581008380.303%
coverage/numbits.py4300180100.000%
coverage/parser.py752216352399.547%
coverage/phystokens.py10500540100.000%
coverage/plugin.py681024086.111%
coverage/plugin_support.py17382014152.406%
coverage/python.py1345444196.629%
coverage/pytracer.py150123566013.426%
coverage/report.py5507280100.000%
coverage/results.py17703620100.000%
coverage/sqldata.py570052640100.000%
coverage/summary.py14702780100.000%
coverage/templite.py15000640100.000%
coverage/tomlconfig.py12800280100.000%
coverage/types.py2206500100.000%
coverage/version.py200060100.000%
coverage/xmlreport.py16102540100.000%
tests/__init__.py10000100.000%
tests/balance_xdist_plugin.py13010800100.000%
tests/conftest.py5804120100.000%
tests/coveragetest.py22504740100.000%
tests/covmain.zip/__main__.py40000100.000%
tests/covmodzip1.py220000.000%
tests/goldtest.py9600360100.000%
tests/helpers.py13108370100.000%
tests/mixins.py550040100.000%
tests/modules/aa/__init__.py00000100.000%
tests/modules/aa/afile.py00000100.000%
tests/modules/aa/bb/__init__.py00000100.000%
tests/modules/aa/bb/bfile.py00000100.000%
tests/modules/aa/bb/cc/__init__.py00000100.000%
tests/modules/aa/bb/cc/cfile.py00000100.000%
tests/modules/pkg1/__init__.py10000100.000%
tests/modules/pkg1/__main__.py20000100.000%
tests/modules/pkg1/runmod2.py20000100.000%
tests/modules/pkg1/sub/__init__.py00000100.000%
tests/modules/pkg1/sub/__main__.py20000100.000%
tests/modules/pkg1/sub/runmod3.py20000100.000%
tests/modules/pkg2/__init__.py00000100.000%
tests/modules/plugins/__init__.py00000100.000%
tests/modules/plugins/a_plugin.py80000100.000%
tests/modules/plugins/another.py90000100.000%
tests/modules/process_test/__init__.py00000100.000%
tests/modules/process_test/try_execfile.py464027489.041%
tests/modules/runmod1.py20000100.000%
tests/osinfo.py280440100.000%
tests/plugin1.py29802067.742%
tests/plugin2.py361004065.000%
tests/plugin_config.py150000100.000%
tests/test_annotate.py430000100.000%
tests/test_api.py881061260100.000%
tests/test_arcs.py42100860100.000%
tests/test_cmdline.py41401360100.000%
tests/test_collector.py160020100.000%
tests/test_concurrency.py28823050099.408%
tests/test_config.py3550000100.000%
tests/test_context.py17000190100.000%
tests/test_coverage.py32300220100.000%
tests/test_data.py70102180100.000%
tests/test_debug.py14800100100.000%
tests/test_execfile.py1790020100.000%
tests/test_filereporter.py740000100.000%
tests/test_files.py27804320100.000%
tests/test_goldtest.py940000100.000%
tests/test_html.py59900380100.000%
tests/test_json.py370000100.000%
tests/test_lcov.py830020100.000%
tests/test_misc.py860060100.000%
tests/test_mixins.py500000100.000%
tests/test_numbits.py9400100100.000%
tests/test_oddball.py147027140100.000%
tests/test_parser.py20000160100.000%
tests/test_phystokens.py950080100.000%
tests/test_plugins.py40311530099.769%
tests/test_process.py492063160100.000%
tests/test_python.py370000100.000%
tests/test_report.py460020100.000%
tests/test_results.py550000100.000%
tests/test_setup.py310000100.000%
tests/test_summary.py4860560100.000%
tests/test_templite.py1300040100.000%
tests/test_testing.py2350200100.000%
tests/test_venv.py1180060100.000%
tests/test_version.py280020100.000%
tests/test_xml.py28603260100.000%
tests/zip1.zip/zip1/__init__.py00000100.000%
tests/zip1.zip/zip1/zip1.py20000100.000%
tests/zipmods.zip/encoded_cp1252.py50020100.000%
tests/zipmods.zip/encoded_gb2312.py50020100.000%
tests/zipmods.zip/encoded_hebrew.py50020100.000%
tests/zipmods.zip/encoded_shift_jis.py50020100.000%
tests/zipmods.zip/encoded_utf-8.py50020100.000%
Total1496446860430677096.129%
+

+ No items found using the specified filter. +

+
+ + + diff --git a/reports/20230214_7887212bda/htmlcov/keybd_closed.png b/reports/20230214_7887212bda/htmlcov/keybd_closed.png new file mode 100644 index 000000000..ba119c47d Binary files /dev/null and b/reports/20230214_7887212bda/htmlcov/keybd_closed.png differ diff --git a/reports/20230214_7887212bda/htmlcov/keybd_open.png b/reports/20230214_7887212bda/htmlcov/keybd_open.png new file mode 100644 index 000000000..a8bac6c9d Binary files /dev/null and b/reports/20230214_7887212bda/htmlcov/keybd_open.png differ diff --git a/reports/20230214_7887212bda/htmlcov/status.json b/reports/20230214_7887212bda/htmlcov/status.json new file mode 100644 index 000000000..6abf5f1e9 --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/status.json @@ -0,0 +1 @@ +{"format":2,"version":"7.2.0a0.dev1","globals":"27247f01a2d6fbcc49b06adab177984f","files":{"d_56e48acd472f6ae7___init___py":{"hash":"6d695833d0cbee434ef1a84c5bce57be","index":{"nums":[3,1,14,0,0,0,0,0],"html_filename":"d_56e48acd472f6ae7___init___py.html","relative_filename":"coverage/__init__.py"}},"d_56e48acd472f6ae7___main___py":{"hash":"fac5c5744bc8d2f33176bb736deb5dcd","index":{"nums":[3,1,4,0,0,0,0,0],"html_filename":"d_56e48acd472f6ae7___main___py.html","relative_filename":"coverage/__main__.py"}},"d_56e48acd472f6ae7_annotate_py":{"hash":"de0f0167cde5732f6378c790ba6ae60d","index":{"nums":[3,1,60,2,0,26,1,1],"html_filename":"d_56e48acd472f6ae7_annotate_py.html","relative_filename":"coverage/annotate.py"}},"d_56e48acd472f6ae7_bytecode_py":{"hash":"4ded6210ce552ed2e4a2c15811c99cae","index":{"nums":[3,1,12,0,0,6,0,0],"html_filename":"d_56e48acd472f6ae7_bytecode_py.html","relative_filename":"coverage/bytecode.py"}},"d_56e48acd472f6ae7_cmdline_py":{"hash":"74a2aeb532714e28028e3234c9a6b99e","index":{"nums":[3,1,315,13,1,129,2,2],"html_filename":"d_56e48acd472f6ae7_cmdline_py.html","relative_filename":"coverage/cmdline.py"}},"d_56e48acd472f6ae7_collector_py":{"hash":"6bfab5f33cfee7bb0f006dceb12acbe7","index":{"nums":[3,1,250,7,73,98,6,40],"html_filename":"d_56e48acd472f6ae7_collector_py.html","relative_filename":"coverage/collector.py"}},"d_56e48acd472f6ae7_config_py":{"hash":"08621e6cb0d5f7db4845f195e86591db","index":{"nums":[3,1,270,0,0,104,0,0],"html_filename":"d_56e48acd472f6ae7_config_py.html","relative_filename":"coverage/config.py"}},"d_56e48acd472f6ae7_context_py":{"hash":"4bdd97c2daa40d1c88c56b7261ee7dde","index":{"nums":[3,1,38,0,9,18,0,6],"html_filename":"d_56e48acd472f6ae7_context_py.html","relative_filename":"coverage/context.py"}},"d_56e48acd472f6ae7_control_py":{"hash":"9549d42eb803ef027beef895da4a124e","index":{"nums":[3,1,440,7,34,168,12,22],"html_filename":"d_56e48acd472f6ae7_control_py.html","relative_filename":"coverage/control.py"}},"d_56e48acd472f6ae7_data_py":{"hash":"9c3d1a41a5811c8a662fd957b847df91","index":{"nums":[3,1,105,0,3,46,4,4],"html_filename":"d_56e48acd472f6ae7_data_py.html","relative_filename":"coverage/data.py"}},"d_56e48acd472f6ae7_debug_py":{"hash":"2ce69ab47bd8de900d502ef77335d47c","index":{"nums":[3,1,173,87,3,52,3,5],"html_filename":"d_56e48acd472f6ae7_debug_py.html","relative_filename":"coverage/debug.py"}},"d_56e48acd472f6ae7_disposition_py":{"hash":"5b5cfb6ad1c7f6706026f9f97cb8cbac","index":{"nums":[3,1,31,4,8,6,0,6],"html_filename":"d_56e48acd472f6ae7_disposition_py.html","relative_filename":"coverage/disposition.py"}},"d_56e48acd472f6ae7_env_py":{"hash":"bfc0fe306205565f36fd9a479bf7fc2f","index":{"nums":[3,1,57,0,1,20,1,1],"html_filename":"d_56e48acd472f6ae7_env_py.html","relative_filename":"coverage/env.py"}},"d_56e48acd472f6ae7_exceptions_py":{"hash":"43699c6b539008f9179a689b5f9f6b3d","index":{"nums":[3,1,23,0,0,0,0,0],"html_filename":"d_56e48acd472f6ae7_exceptions_py.html","relative_filename":"coverage/exceptions.py"}},"d_56e48acd472f6ae7_execfile_py":{"hash":"0370006316877b6dbced7b30f2f26b82","index":{"nums":[3,1,181,0,1,48,2,2],"html_filename":"d_56e48acd472f6ae7_execfile_py.html","relative_filename":"coverage/execfile.py"}},"d_56e48acd472f6ae7_files_py":{"hash":"f5843d7e167a79e1a2d8b14c5c8137b4","index":{"nums":[3,1,254,6,4,127,2,2],"html_filename":"d_56e48acd472f6ae7_files_py.html","relative_filename":"coverage/files.py"}},"d_56e48acd472f6ae7_html_py":{"hash":"a23b552c12c212d34013f407b9c7a596","index":{"nums":[3,1,306,13,0,108,0,0],"html_filename":"d_56e48acd472f6ae7_html_py.html","relative_filename":"coverage/html.py"}},"d_56e48acd472f6ae7_inorout_py":{"hash":"ba483620eb60d38b6443799d7361d957","index":{"nums":[3,1,322,3,69,174,22,48],"html_filename":"d_56e48acd472f6ae7_inorout_py.html","relative_filename":"coverage/inorout.py"}},"d_56e48acd472f6ae7_jsonreport_py":{"hash":"509bff39c8fd30237f5686a0b70635f6","index":{"nums":[3,1,47,3,0,12,0,0],"html_filename":"d_56e48acd472f6ae7_jsonreport_py.html","relative_filename":"coverage/jsonreport.py"}},"d_56e48acd472f6ae7_lcovreport_py":{"hash":"8a29d731dde9d4f0ff03e0232df5907a","index":{"nums":[3,1,55,3,0,20,0,0],"html_filename":"d_56e48acd472f6ae7_lcovreport_py.html","relative_filename":"coverage/lcovreport.py"}},"d_56e48acd472f6ae7_misc_py":{"hash":"628e1f977621ff8b9d1835e6591a7acd","index":{"nums":[3,1,177,4,3,62,3,3],"html_filename":"d_56e48acd472f6ae7_misc_py.html","relative_filename":"coverage/misc.py"}},"d_56e48acd472f6ae7_multiproc_py":{"hash":"88c717b8955cd534c25d205396140497","index":{"nums":[3,1,58,0,10,8,3,3],"html_filename":"d_56e48acd472f6ae7_multiproc_py.html","relative_filename":"coverage/multiproc.py"}},"d_56e48acd472f6ae7_numbits_py":{"hash":"186100b939091a010b44b644fed73257","index":{"nums":[3,1,43,0,0,18,0,0],"html_filename":"d_56e48acd472f6ae7_numbits_py.html","relative_filename":"coverage/numbits.py"}},"d_56e48acd472f6ae7_parser_py":{"hash":"97d021afe20bd0ace46fa8ba67743bee","index":{"nums":[3,1,752,16,2,352,3,3],"html_filename":"d_56e48acd472f6ae7_parser_py.html","relative_filename":"coverage/parser.py"}},"d_56e48acd472f6ae7_phystokens_py":{"hash":"8451c7ad4bb5d0f3561737fbd21a148c","index":{"nums":[3,1,105,0,0,54,0,0],"html_filename":"d_56e48acd472f6ae7_phystokens_py.html","relative_filename":"coverage/phystokens.py"}},"d_56e48acd472f6ae7_plugin_py":{"hash":"b9af7b3bc2598c30a422e3af8ecc3c3c","index":{"nums":[3,1,68,2,10,4,0,0],"html_filename":"d_56e48acd472f6ae7_plugin_py.html","relative_filename":"coverage/plugin.py"}},"d_56e48acd472f6ae7_plugin_support_py":{"hash":"2122126ca6b6af7ced576baca81e736e","index":{"nums":[3,1,173,0,82,14,1,7],"html_filename":"d_56e48acd472f6ae7_plugin_support_py.html","relative_filename":"coverage/plugin_support.py"}},"d_56e48acd472f6ae7_python_py":{"hash":"ee7b54c3723c72fbc0df39762047b6c7","index":{"nums":[3,1,134,4,5,44,1,1],"html_filename":"d_56e48acd472f6ae7_python_py.html","relative_filename":"coverage/python.py"}},"d_56e48acd472f6ae7_pytracer_py":{"hash":"d1c78065b98da045ec1c52e4ee2e421f","index":{"nums":[3,1,150,5,123,66,0,64],"html_filename":"d_56e48acd472f6ae7_pytracer_py.html","relative_filename":"coverage/pytracer.py"}},"d_56e48acd472f6ae7_report_py":{"hash":"4aa15c1af5c037cef6d7d010e821b6ff","index":{"nums":[3,1,55,7,0,28,0,0],"html_filename":"d_56e48acd472f6ae7_report_py.html","relative_filename":"coverage/report.py"}},"d_56e48acd472f6ae7_results_py":{"hash":"be19a73a835e6b448d3008a690398365","index":{"nums":[3,1,177,3,0,62,0,0],"html_filename":"d_56e48acd472f6ae7_results_py.html","relative_filename":"coverage/results.py"}},"d_56e48acd472f6ae7_sqldata_py":{"hash":"cace6788f1c009f3fb2776e9ea69e50b","index":{"nums":[3,1,570,5,0,264,0,0],"html_filename":"d_56e48acd472f6ae7_sqldata_py.html","relative_filename":"coverage/sqldata.py"}},"d_56e48acd472f6ae7_summary_py":{"hash":"cb1ba0fb0db85e1f44694428fdf5c9e9","index":{"nums":[3,1,147,2,0,78,0,0],"html_filename":"d_56e48acd472f6ae7_summary_py.html","relative_filename":"coverage/summary.py"}},"d_56e48acd472f6ae7_templite_py":{"hash":"b9caaa8fd91b7c2e5470e5981b7a4901","index":{"nums":[3,1,150,0,0,64,0,0],"html_filename":"d_56e48acd472f6ae7_templite_py.html","relative_filename":"coverage/templite.py"}},"d_56e48acd472f6ae7_tomlconfig_py":{"hash":"30a77ff7c058ca807b9542ed0af1385e","index":{"nums":[3,1,128,0,0,28,0,0],"html_filename":"d_56e48acd472f6ae7_tomlconfig_py.html","relative_filename":"coverage/tomlconfig.py"}},"d_56e48acd472f6ae7_types_py":{"hash":"4c3f17d3ceecf3d08e2e8d4c12ca25ea","index":{"nums":[3,1,22,65,0,0,0,0],"html_filename":"d_56e48acd472f6ae7_types_py.html","relative_filename":"coverage/types.py"}},"d_56e48acd472f6ae7_version_py":{"hash":"004ee7e1fd5d398052f06e17fa5b698d","index":{"nums":[3,1,20,0,0,6,0,0],"html_filename":"d_56e48acd472f6ae7_version_py.html","relative_filename":"coverage/version.py"}},"d_56e48acd472f6ae7_xmlreport_py":{"hash":"f0884361dda4e449e07f363784246a89","index":{"nums":[3,1,161,2,0,54,0,0],"html_filename":"d_56e48acd472f6ae7_xmlreport_py.html","relative_filename":"coverage/xmlreport.py"}},"d_a44f0ac069e85531___init___py":{"hash":"5025ace2ad112ae88a02de19c7fe7d5c","index":{"nums":[3,1,1,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531___init___py.html","relative_filename":"tests/__init__.py"}},"d_a44f0ac069e85531_balance_xdist_plugin_py":{"hash":"0ca00966ca129010fe11581cf1b065be","index":{"nums":[3,1,13,108,0,0,0,0],"html_filename":"d_a44f0ac069e85531_balance_xdist_plugin_py.html","relative_filename":"tests/balance_xdist_plugin.py"}},"d_a44f0ac069e85531_conftest_py":{"hash":"510ae6ab65ea810d35b4391ad1431b01","index":{"nums":[3,1,58,4,0,12,0,0],"html_filename":"d_a44f0ac069e85531_conftest_py.html","relative_filename":"tests/conftest.py"}},"d_a44f0ac069e85531_coveragetest_py":{"hash":"f0d39bd209399b94fb375e2372d67a23","index":{"nums":[3,1,225,4,0,74,0,0],"html_filename":"d_a44f0ac069e85531_coveragetest_py.html","relative_filename":"tests/coveragetest.py"}},"d_9ca50767fc7db0ab___main___py":{"hash":"fac5c5744bc8d2f33176bb736deb5dcd","index":{"nums":[3,1,4,0,0,0,0,0],"html_filename":"d_9ca50767fc7db0ab___main___py.html","relative_filename":"tests/covmain.zip/__main__.py"}},"d_a44f0ac069e85531_covmodzip1_py":{"hash":"77e2f4259769dae288b528ec58365ab1","index":{"nums":[3,1,2,0,2,0,0,0],"html_filename":"d_a44f0ac069e85531_covmodzip1_py.html","relative_filename":"tests/covmodzip1.py"}},"d_a44f0ac069e85531_goldtest_py":{"hash":"ef610cb1974ec1baab551f5bdb35a85f","index":{"nums":[3,1,96,0,0,36,0,0],"html_filename":"d_a44f0ac069e85531_goldtest_py.html","relative_filename":"tests/goldtest.py"}},"d_a44f0ac069e85531_helpers_py":{"hash":"2cc8c9c647843ec0a30a6020eea9cac7","index":{"nums":[3,1,131,8,0,37,0,0],"html_filename":"d_a44f0ac069e85531_helpers_py.html","relative_filename":"tests/helpers.py"}},"d_a44f0ac069e85531_mixins_py":{"hash":"1d54c69b9e7db682d30531d4459a4c15","index":{"nums":[3,1,55,0,0,4,0,0],"html_filename":"d_a44f0ac069e85531_mixins_py.html","relative_filename":"tests/mixins.py"}},"d_17fea1f51f923804___init___py":{"hash":"1438749e6545a8ab23427a3a47cc53fc","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_17fea1f51f923804___init___py.html","relative_filename":"tests/modules/aa/__init__.py"}},"d_17fea1f51f923804_afile_py":{"hash":"5456f4f56549e1197070d22cefe5beea","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_17fea1f51f923804_afile_py.html","relative_filename":"tests/modules/aa/afile.py"}},"d_b6edb070e3fc09e6___init___py":{"hash":"ea237e3472bbf0daac5817bd47be01ae","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_b6edb070e3fc09e6___init___py.html","relative_filename":"tests/modules/aa/bb/__init__.py"}},"d_b6edb070e3fc09e6_bfile_py":{"hash":"9742f30c51a05207ee20c18ea29df081","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_b6edb070e3fc09e6_bfile_py.html","relative_filename":"tests/modules/aa/bb/bfile.py"}},"d_0ad070bfacb99f88___init___py":{"hash":"fea61dcc0d48d904e2a9d7ac81f3c7f4","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_0ad070bfacb99f88___init___py.html","relative_filename":"tests/modules/aa/bb/cc/__init__.py"}},"d_0ad070bfacb99f88_cfile_py":{"hash":"9434c4353a1a8377bfebd619ef5b8947","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_0ad070bfacb99f88_cfile_py.html","relative_filename":"tests/modules/aa/bb/cc/cfile.py"}},"d_3ffccc9e4958b7ce___init___py":{"hash":"aaed7bc76ab36ace15190cb6fd813a34","index":{"nums":[3,1,1,0,0,0,0,0],"html_filename":"d_3ffccc9e4958b7ce___init___py.html","relative_filename":"tests/modules/pkg1/__init__.py"}},"d_3ffccc9e4958b7ce___main___py":{"hash":"b79cf72c0433c7c3b5a9f2653c213c29","index":{"nums":[3,1,2,0,0,0,0,0],"html_filename":"d_3ffccc9e4958b7ce___main___py.html","relative_filename":"tests/modules/pkg1/__main__.py"}},"d_3ffccc9e4958b7ce_runmod2_py":{"hash":"56eab34fe62ee499c4fb5745b563773e","index":{"nums":[3,1,2,0,0,0,0,0],"html_filename":"d_3ffccc9e4958b7ce_runmod2_py.html","relative_filename":"tests/modules/pkg1/runmod2.py"}},"d_52d120f25107ba74___init___py":{"hash":"fea61dcc0d48d904e2a9d7ac81f3c7f4","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_52d120f25107ba74___init___py.html","relative_filename":"tests/modules/pkg1/sub/__init__.py"}},"d_52d120f25107ba74___main___py":{"hash":"98921919a25a0fa0848efe0d8db2160b","index":{"nums":[3,1,2,0,0,0,0,0],"html_filename":"d_52d120f25107ba74___main___py.html","relative_filename":"tests/modules/pkg1/sub/__main__.py"}},"d_52d120f25107ba74_runmod3_py":{"hash":"6bdbf619b63d3aef237d7e2b18837eeb","index":{"nums":[3,1,2,0,0,0,0,0],"html_filename":"d_52d120f25107ba74_runmod3_py.html","relative_filename":"tests/modules/pkg1/sub/runmod3.py"}},"d_6a492354c7c89fe0___init___py":{"hash":"5cf096f316e1a842613fe06129dd0cfa","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_6a492354c7c89fe0___init___py.html","relative_filename":"tests/modules/pkg2/__init__.py"}},"d_6afbad80da38ef17___init___py":{"hash":"fea61dcc0d48d904e2a9d7ac81f3c7f4","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_6afbad80da38ef17___init___py.html","relative_filename":"tests/modules/plugins/__init__.py"}},"d_6afbad80da38ef17_a_plugin_py":{"hash":"c96ad451cc6a3110431ec128996d1ce2","index":{"nums":[3,1,8,0,0,0,0,0],"html_filename":"d_6afbad80da38ef17_a_plugin_py.html","relative_filename":"tests/modules/plugins/a_plugin.py"}},"d_6afbad80da38ef17_another_py":{"hash":"192f2d1a66f89d3c68932609928e49ac","index":{"nums":[3,1,9,0,0,0,0,0],"html_filename":"d_6afbad80da38ef17_another_py.html","relative_filename":"tests/modules/plugins/another.py"}},"d_726a57c820fc118f___init___py":{"hash":"fea61dcc0d48d904e2a9d7ac81f3c7f4","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_726a57c820fc118f___init___py.html","relative_filename":"tests/modules/process_test/__init__.py"}},"d_726a57c820fc118f_try_execfile_py":{"hash":"0795d22efbc353df973689d2411e2e2d","index":{"nums":[3,1,46,0,4,27,4,4],"html_filename":"d_726a57c820fc118f_try_execfile_py.html","relative_filename":"tests/modules/process_test/try_execfile.py"}},"d_fadd8618b2c66c56_runmod1_py":{"hash":"f8bf8928d2b81c1f96d91349f2044b26","index":{"nums":[3,1,2,0,0,0,0,0],"html_filename":"d_fadd8618b2c66c56_runmod1_py.html","relative_filename":"tests/modules/runmod1.py"}},"d_a44f0ac069e85531_osinfo_py":{"hash":"f0c51ff58defc01d6e40a2576ed19704","index":{"nums":[3,1,28,4,0,4,0,0],"html_filename":"d_a44f0ac069e85531_osinfo_py.html","relative_filename":"tests/osinfo.py"}},"d_a44f0ac069e85531_plugin1_py":{"hash":"ffe91f96ac1b1fafe40273dd6c102084","index":{"nums":[3,1,29,0,8,2,0,2],"html_filename":"d_a44f0ac069e85531_plugin1_py.html","relative_filename":"tests/plugin1.py"}},"d_a44f0ac069e85531_plugin2_py":{"hash":"59e645c1150bc9abe5cd3269cf77f105","index":{"nums":[3,1,36,0,10,4,0,4],"html_filename":"d_a44f0ac069e85531_plugin2_py.html","relative_filename":"tests/plugin2.py"}},"d_a44f0ac069e85531_plugin_config_py":{"hash":"1b7516a4a8692ce848bcbdd58c627e6c","index":{"nums":[3,1,15,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_plugin_config_py.html","relative_filename":"tests/plugin_config.py"}},"d_a44f0ac069e85531_test_annotate_py":{"hash":"87e2092b427d269839a47b76b7be5ca1","index":{"nums":[3,1,43,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_annotate_py.html","relative_filename":"tests/test_annotate.py"}},"d_a44f0ac069e85531_test_api_py":{"hash":"795ead8bdf374df9c4e2a89e0bc37309","index":{"nums":[3,1,881,61,0,26,0,0],"html_filename":"d_a44f0ac069e85531_test_api_py.html","relative_filename":"tests/test_api.py"}},"d_a44f0ac069e85531_test_arcs_py":{"hash":"7f945702147337ee54cc39a3edd19502","index":{"nums":[3,1,421,0,0,86,0,0],"html_filename":"d_a44f0ac069e85531_test_arcs_py.html","relative_filename":"tests/test_arcs.py"}},"d_a44f0ac069e85531_test_cmdline_py":{"hash":"ed4b91b68598f1e783a8da2a2cbadbf1","index":{"nums":[3,1,414,1,0,36,0,0],"html_filename":"d_a44f0ac069e85531_test_cmdline_py.html","relative_filename":"tests/test_cmdline.py"}},"d_a44f0ac069e85531_test_collector_py":{"hash":"4842176adf19f55fe64f45e13007f025","index":{"nums":[3,1,16,0,0,2,0,0],"html_filename":"d_a44f0ac069e85531_test_collector_py.html","relative_filename":"tests/test_collector.py"}},"d_a44f0ac069e85531_test_concurrency_py":{"hash":"38e9565c18b711c195456dee917f9ff9","index":{"nums":[3,1,288,30,2,50,0,0],"html_filename":"d_a44f0ac069e85531_test_concurrency_py.html","relative_filename":"tests/test_concurrency.py"}},"d_a44f0ac069e85531_test_config_py":{"hash":"859ce59b01dfd5d2f04f0ef1fb407106","index":{"nums":[3,1,355,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_config_py.html","relative_filename":"tests/test_config.py"}},"d_a44f0ac069e85531_test_context_py":{"hash":"b18da1cf5010c8e5ea39bf47ea5368ad","index":{"nums":[3,1,170,0,0,19,0,0],"html_filename":"d_a44f0ac069e85531_test_context_py.html","relative_filename":"tests/test_context.py"}},"d_a44f0ac069e85531_test_coverage_py":{"hash":"dead28311a3842cff146176620f1ad36","index":{"nums":[3,1,323,0,0,22,0,0],"html_filename":"d_a44f0ac069e85531_test_coverage_py.html","relative_filename":"tests/test_coverage.py"}},"d_a44f0ac069e85531_test_data_py":{"hash":"c43a8bbfce078f987881b02e12992383","index":{"nums":[3,1,701,2,0,18,0,0],"html_filename":"d_a44f0ac069e85531_test_data_py.html","relative_filename":"tests/test_data.py"}},"d_a44f0ac069e85531_test_debug_py":{"hash":"eee559acb2a9d6350cc4ff61e9d37544","index":{"nums":[3,1,148,0,0,10,0,0],"html_filename":"d_a44f0ac069e85531_test_debug_py.html","relative_filename":"tests/test_debug.py"}},"d_a44f0ac069e85531_test_execfile_py":{"hash":"ae33e5b9b4211f1a282bc95b3dad5457","index":{"nums":[3,1,179,0,0,2,0,0],"html_filename":"d_a44f0ac069e85531_test_execfile_py.html","relative_filename":"tests/test_execfile.py"}},"d_a44f0ac069e85531_test_filereporter_py":{"hash":"7b52168b2950cfe6527ec55efa449280","index":{"nums":[3,1,74,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_filereporter_py.html","relative_filename":"tests/test_filereporter.py"}},"d_a44f0ac069e85531_test_files_py":{"hash":"ea38e315650a0107972ae37bf2660d2b","index":{"nums":[3,1,278,4,0,32,0,0],"html_filename":"d_a44f0ac069e85531_test_files_py.html","relative_filename":"tests/test_files.py"}},"d_a44f0ac069e85531_test_goldtest_py":{"hash":"14d769a91406d3c7de91042233e866fa","index":{"nums":[3,1,94,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_goldtest_py.html","relative_filename":"tests/test_goldtest.py"}},"d_a44f0ac069e85531_test_html_py":{"hash":"c933be028d4a944135400b1e4fb09997","index":{"nums":[3,1,599,0,0,38,0,0],"html_filename":"d_a44f0ac069e85531_test_html_py.html","relative_filename":"tests/test_html.py"}},"d_a44f0ac069e85531_test_json_py":{"hash":"c4d5e379f9f267056a928ac7b306580e","index":{"nums":[3,1,37,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_json_py.html","relative_filename":"tests/test_json.py"}},"d_a44f0ac069e85531_test_lcov_py":{"hash":"6e5a1009a9b8bfc2436eb9b4323301b4","index":{"nums":[3,1,83,0,0,2,0,0],"html_filename":"d_a44f0ac069e85531_test_lcov_py.html","relative_filename":"tests/test_lcov.py"}},"d_a44f0ac069e85531_test_misc_py":{"hash":"81904210e17c77291d2f277fa6306312","index":{"nums":[3,1,86,0,0,6,0,0],"html_filename":"d_a44f0ac069e85531_test_misc_py.html","relative_filename":"tests/test_misc.py"}},"d_a44f0ac069e85531_test_mixins_py":{"hash":"21955db11286c107d3c19f5ba714a387","index":{"nums":[3,1,50,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_mixins_py.html","relative_filename":"tests/test_mixins.py"}},"d_a44f0ac069e85531_test_numbits_py":{"hash":"fb3b205cc6e504991a094aa4b2041de8","index":{"nums":[3,1,94,0,0,10,0,0],"html_filename":"d_a44f0ac069e85531_test_numbits_py.html","relative_filename":"tests/test_numbits.py"}},"d_a44f0ac069e85531_test_oddball_py":{"hash":"0de2603b29a1ed45e0ba82302eae183f","index":{"nums":[3,1,147,27,0,14,0,0],"html_filename":"d_a44f0ac069e85531_test_oddball_py.html","relative_filename":"tests/test_oddball.py"}},"d_a44f0ac069e85531_test_parser_py":{"hash":"6e5b0feb42f2cfa84798f7c4242d8412","index":{"nums":[3,1,200,0,0,16,0,0],"html_filename":"d_a44f0ac069e85531_test_parser_py.html","relative_filename":"tests/test_parser.py"}},"d_a44f0ac069e85531_test_phystokens_py":{"hash":"a33d6e0ab74332a03363426410b9e3f7","index":{"nums":[3,1,95,0,0,8,0,0],"html_filename":"d_a44f0ac069e85531_test_phystokens_py.html","relative_filename":"tests/test_phystokens.py"}},"d_a44f0ac069e85531_test_plugins_py":{"hash":"971c2362109e06d7899a85a3a0146516","index":{"nums":[3,1,403,15,1,30,0,0],"html_filename":"d_a44f0ac069e85531_test_plugins_py.html","relative_filename":"tests/test_plugins.py"}},"d_a44f0ac069e85531_test_process_py":{"hash":"725d6651a1637a804b191c54355eb88c","index":{"nums":[3,1,492,63,0,16,0,0],"html_filename":"d_a44f0ac069e85531_test_process_py.html","relative_filename":"tests/test_process.py"}},"d_a44f0ac069e85531_test_python_py":{"hash":"e1ebbc46688e540cc6a53f3dc334b2fb","index":{"nums":[3,1,37,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_python_py.html","relative_filename":"tests/test_python.py"}},"d_a44f0ac069e85531_test_report_py":{"hash":"63a31d22114413a4bbe1e10da8932f6b","index":{"nums":[3,1,46,0,0,2,0,0],"html_filename":"d_a44f0ac069e85531_test_report_py.html","relative_filename":"tests/test_report.py"}},"d_a44f0ac069e85531_test_results_py":{"hash":"2681353bae6e54f1b84967631055723a","index":{"nums":[3,1,55,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_results_py.html","relative_filename":"tests/test_results.py"}},"d_a44f0ac069e85531_test_setup_py":{"hash":"67741caf0d10d357a9d3c9f370d156f2","index":{"nums":[3,1,31,0,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_setup_py.html","relative_filename":"tests/test_setup.py"}},"d_a44f0ac069e85531_test_summary_py":{"hash":"302f8abf26f0a8420e68717401247da2","index":{"nums":[3,1,486,5,0,6,0,0],"html_filename":"d_a44f0ac069e85531_test_summary_py.html","relative_filename":"tests/test_summary.py"}},"d_a44f0ac069e85531_test_templite_py":{"hash":"0658db137b570cf353ff1bdaa5c5ba77","index":{"nums":[3,1,130,0,0,4,0,0],"html_filename":"d_a44f0ac069e85531_test_templite_py.html","relative_filename":"tests/test_templite.py"}},"d_a44f0ac069e85531_test_testing_py":{"hash":"901b76c465a93ef019d3520d161f4e81","index":{"nums":[3,1,235,2,0,0,0,0],"html_filename":"d_a44f0ac069e85531_test_testing_py.html","relative_filename":"tests/test_testing.py"}},"d_a44f0ac069e85531_test_venv_py":{"hash":"3c8b37319a5d4af711595447c054169c","index":{"nums":[3,1,118,0,0,6,0,0],"html_filename":"d_a44f0ac069e85531_test_venv_py.html","relative_filename":"tests/test_venv.py"}},"d_a44f0ac069e85531_test_version_py":{"hash":"0d88d7c4c444755dfdc5f6844546d285","index":{"nums":[3,1,28,0,0,2,0,0],"html_filename":"d_a44f0ac069e85531_test_version_py.html","relative_filename":"tests/test_version.py"}},"d_a44f0ac069e85531_test_xml_py":{"hash":"228d2c21177f21d3c94f14e2329bcce7","index":{"nums":[3,1,286,3,0,26,0,0],"html_filename":"d_a44f0ac069e85531_test_xml_py.html","relative_filename":"tests/test_xml.py"}},"d_fbc9d66a161c9b82___init___py":{"hash":"fea61dcc0d48d904e2a9d7ac81f3c7f4","index":{"nums":[3,1,0,0,0,0,0,0],"html_filename":"d_fbc9d66a161c9b82___init___py.html","relative_filename":"tests/zip1.zip/zip1/__init__.py"}},"d_fbc9d66a161c9b82_zip1_py":{"hash":"59952dfb011be4fe913c5506744db1f2","index":{"nums":[3,1,2,0,0,0,0,0],"html_filename":"d_fbc9d66a161c9b82_zip1_py.html","relative_filename":"tests/zip1.zip/zip1/zip1.py"}},"d_7d196e1750568443_encoded_cp1252_py":{"hash":"3f8e22057d2b27025007ba675da5d21f","index":{"nums":[3,1,5,0,0,2,0,0],"html_filename":"d_7d196e1750568443_encoded_cp1252_py.html","relative_filename":"tests/zipmods.zip/encoded_cp1252.py"}},"d_7d196e1750568443_encoded_gb2312_py":{"hash":"a77e774ffac2f921132c41f013f4e4a6","index":{"nums":[3,1,5,0,0,2,0,0],"html_filename":"d_7d196e1750568443_encoded_gb2312_py.html","relative_filename":"tests/zipmods.zip/encoded_gb2312.py"}},"d_7d196e1750568443_encoded_hebrew_py":{"hash":"efb1482359a7d3b695eed38a834ac637","index":{"nums":[3,1,5,0,0,2,0,0],"html_filename":"d_7d196e1750568443_encoded_hebrew_py.html","relative_filename":"tests/zipmods.zip/encoded_hebrew.py"}},"d_7d196e1750568443_encoded_shift_jis_py":{"hash":"7e0bbd3233d45d1e459ec752a244edf0","index":{"nums":[3,1,5,0,0,2,0,0],"html_filename":"d_7d196e1750568443_encoded_shift_jis_py.html","relative_filename":"tests/zipmods.zip/encoded_shift_jis.py"}},"d_7d196e1750568443_encoded_utf-8_py":{"hash":"1e8a7713dd066afbc6cfb7a230c62a1b","index":{"nums":[3,1,5,0,0,2,0,0],"html_filename":"d_7d196e1750568443_encoded_utf-8_py.html","relative_filename":"tests/zipmods.zip/encoded_utf-8.py"}}}} \ No newline at end of file diff --git a/reports/20230214_7887212bda/htmlcov/style.css b/reports/20230214_7887212bda/htmlcov/style.css new file mode 100644 index 000000000..d6768a35e --- /dev/null +++ b/reports/20230214_7887212bda/htmlcov/style.css @@ -0,0 +1,311 @@ +@charset "UTF-8"; +/* Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 */ +/* For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt */ +/* Don't edit this .css file. Edit the .scss file instead! */ +html, body, h1, h2, h3, p, table, td, th { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; } + +body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 1em; background: #fff; color: #000; } + +@media (prefers-color-scheme: dark) { body { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { body { color: #eee; } } + +html > body { font-size: 16px; } + +a:active, a:focus { outline: 2px dashed #007acc; } + +p { font-size: .875em; line-height: 1.4em; } + +table { border-collapse: collapse; } + +td { vertical-align: top; } + +table tr.hidden { display: none !important; } + +p#no_rows { display: none; font-size: 1.2em; } + +a.nav { text-decoration: none; color: inherit; } + +a.nav:hover { text-decoration: underline; color: inherit; } + +.hidden { display: none; } + +header { background: #f8f8f8; width: 100%; z-index: 2; border-bottom: 1px solid #ccc; } + +@media (prefers-color-scheme: dark) { header { background: black; } } + +@media (prefers-color-scheme: dark) { header { border-color: #333; } } + +header .content { padding: 1rem 3.5rem; } + +header h2 { margin-top: .5em; font-size: 1em; } + +header p.text { margin: .5em 0 -.5em; color: #666; font-style: italic; } + +@media (prefers-color-scheme: dark) { header p.text { color: #aaa; } } + +header.sticky { position: fixed; left: 0; right: 0; height: 2.5em; } + +header.sticky .text { display: none; } + +header.sticky h1, header.sticky h2 { font-size: 1em; margin-top: 0; display: inline-block; } + +header.sticky .content { padding: 0.5rem 3.5rem; } + +header.sticky .content p { font-size: 1em; } + +header.sticky ~ #source { padding-top: 6.5em; } + +main { position: relative; z-index: 1; } + +footer { margin: 1rem 3.5rem; } + +footer .content { padding: 0; color: #666; font-style: italic; } + +@media (prefers-color-scheme: dark) { footer .content { color: #aaa; } } + +#index { margin: 1rem 0 0 3.5rem; } + +h1 { font-size: 1.25em; display: inline-block; } + +#filter_container { float: right; margin: 0 2em 0 0; } + +#filter_container input { width: 10em; padding: 0.2em 0.5em; border: 2px solid #ccc; background: #fff; color: #000; } + +@media (prefers-color-scheme: dark) { #filter_container input { border-color: #444; } } + +@media (prefers-color-scheme: dark) { #filter_container input { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { #filter_container input { color: #eee; } } + +#filter_container input:focus { border-color: #007acc; } + +header button { font-family: inherit; font-size: inherit; border: 1px solid; border-radius: .2em; color: inherit; padding: .1em .5em; margin: 1px calc(.1em + 1px); cursor: pointer; border-color: #ccc; } + +@media (prefers-color-scheme: dark) { header button { border-color: #444; } } + +header button:active, header button:focus { outline: 2px dashed #007acc; } + +header button.run { background: #eeffee; } + +@media (prefers-color-scheme: dark) { header button.run { background: #373d29; } } + +header button.run.show_run { background: #dfd; border: 2px solid #00dd00; margin: 0 .1em; } + +@media (prefers-color-scheme: dark) { header button.run.show_run { background: #373d29; } } + +header button.mis { background: #ffeeee; } + +@media (prefers-color-scheme: dark) { header button.mis { background: #4b1818; } } + +header button.mis.show_mis { background: #fdd; border: 2px solid #ff0000; margin: 0 .1em; } + +@media (prefers-color-scheme: dark) { header button.mis.show_mis { background: #4b1818; } } + +header button.exc { background: #f7f7f7; } + +@media (prefers-color-scheme: dark) { header button.exc { background: #333; } } + +header button.exc.show_exc { background: #eee; border: 2px solid #808080; margin: 0 .1em; } + +@media (prefers-color-scheme: dark) { header button.exc.show_exc { background: #333; } } + +header button.par { background: #ffffd5; } + +@media (prefers-color-scheme: dark) { header button.par { background: #650; } } + +header button.par.show_par { background: #ffa; border: 2px solid #bbbb00; margin: 0 .1em; } + +@media (prefers-color-scheme: dark) { header button.par.show_par { background: #650; } } + +#help_panel, #source p .annotate.long { display: none; position: absolute; z-index: 999; background: #ffffcc; border: 1px solid #888; border-radius: .2em; color: #333; padding: .25em .5em; } + +#source p .annotate.long { white-space: normal; float: right; top: 1.75em; right: 1em; height: auto; } + +#help_panel_wrapper { float: right; position: relative; } + +#keyboard_icon { margin: 5px; } + +#help_panel_state { display: none; } + +#help_panel { top: 25px; right: 0; padding: .75em; border: 1px solid #883; color: #333; } + +#help_panel .keyhelp p { margin-top: .75em; } + +#help_panel .legend { font-style: italic; margin-bottom: 1em; } + +.indexfile #help_panel { width: 25em; } + +.pyfile #help_panel { width: 18em; } + +#help_panel_state:checked ~ #help_panel { display: block; } + +kbd { border: 1px solid black; border-color: #888 #333 #333 #888; padding: .1em .35em; font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-weight: bold; background: #eee; border-radius: 3px; } + +#source { padding: 1em 0 1em 3.5rem; font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; } + +#source p { position: relative; white-space: pre; } + +#source p * { box-sizing: border-box; } + +#source p .n { float: left; text-align: right; width: 3.5rem; box-sizing: border-box; margin-left: -3.5rem; padding-right: 1em; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n { color: #777; } } + +#source p .n.highlight { background: #ffdd00; } + +#source p .n a { margin-top: -4em; padding-top: 4em; text-decoration: none; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n a { color: #777; } } + +#source p .n a:hover { text-decoration: underline; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n a:hover { color: #777; } } + +#source p .t { display: inline-block; width: 100%; box-sizing: border-box; margin-left: -.5em; padding-left: 0.3em; border-left: 0.2em solid #fff; } + +@media (prefers-color-scheme: dark) { #source p .t { border-color: #1e1e1e; } } + +#source p .t:hover { background: #f2f2f2; } + +@media (prefers-color-scheme: dark) { #source p .t:hover { background: #282828; } } + +#source p .t:hover ~ .r .annotate.long { display: block; } + +#source p .t .com { color: #008000; font-style: italic; line-height: 1px; } + +@media (prefers-color-scheme: dark) { #source p .t .com { color: #6a9955; } } + +#source p .t .key { font-weight: bold; line-height: 1px; } + +#source p .t .str { color: #0451a5; } + +@media (prefers-color-scheme: dark) { #source p .t .str { color: #9cdcfe; } } + +#source p.mis .t { border-left: 0.2em solid #ff0000; } + +#source p.mis.show_mis .t { background: #fdd; } + +@media (prefers-color-scheme: dark) { #source p.mis.show_mis .t { background: #4b1818; } } + +#source p.mis.show_mis .t:hover { background: #f2d2d2; } + +@media (prefers-color-scheme: dark) { #source p.mis.show_mis .t:hover { background: #532323; } } + +#source p.run .t { border-left: 0.2em solid #00dd00; } + +#source p.run.show_run .t { background: #dfd; } + +@media (prefers-color-scheme: dark) { #source p.run.show_run .t { background: #373d29; } } + +#source p.run.show_run .t:hover { background: #d2f2d2; } + +@media (prefers-color-scheme: dark) { #source p.run.show_run .t:hover { background: #404633; } } + +#source p.exc .t { border-left: 0.2em solid #808080; } + +#source p.exc.show_exc .t { background: #eee; } + +@media (prefers-color-scheme: dark) { #source p.exc.show_exc .t { background: #333; } } + +#source p.exc.show_exc .t:hover { background: #e2e2e2; } + +@media (prefers-color-scheme: dark) { #source p.exc.show_exc .t:hover { background: #3c3c3c; } } + +#source p.par .t { border-left: 0.2em solid #bbbb00; } + +#source p.par.show_par .t { background: #ffa; } + +@media (prefers-color-scheme: dark) { #source p.par.show_par .t { background: #650; } } + +#source p.par.show_par .t:hover { background: #f2f2a2; } + +@media (prefers-color-scheme: dark) { #source p.par.show_par .t:hover { background: #6d5d0c; } } + +#source p .r { position: absolute; top: 0; right: 2.5em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } + +#source p .annotate { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; color: #666; padding-right: .5em; } + +@media (prefers-color-scheme: dark) { #source p .annotate { color: #ddd; } } + +#source p .annotate.short:hover ~ .long { display: block; } + +#source p .annotate.long { width: 30em; right: 2.5em; } + +#source p input { display: none; } + +#source p input ~ .r label.ctx { cursor: pointer; border-radius: .25em; } + +#source p input ~ .r label.ctx::before { content: "▶ "; } + +#source p input ~ .r label.ctx:hover { background: #e8f4ff; color: #666; } + +@media (prefers-color-scheme: dark) { #source p input ~ .r label.ctx:hover { background: #0f3a42; } } + +@media (prefers-color-scheme: dark) { #source p input ~ .r label.ctx:hover { color: #aaa; } } + +#source p input:checked ~ .r label.ctx { background: #d0e8ff; color: #666; border-radius: .75em .75em 0 0; padding: 0 .5em; margin: -.25em 0; } + +@media (prefers-color-scheme: dark) { #source p input:checked ~ .r label.ctx { background: #056; } } + +@media (prefers-color-scheme: dark) { #source p input:checked ~ .r label.ctx { color: #aaa; } } + +#source p input:checked ~ .r label.ctx::before { content: "▼ "; } + +#source p input:checked ~ .ctxs { padding: .25em .5em; overflow-y: scroll; max-height: 10.5em; } + +#source p label.ctx { color: #999; display: inline-block; padding: 0 .5em; font-size: .8333em; } + +@media (prefers-color-scheme: dark) { #source p label.ctx { color: #777; } } + +#source p .ctxs { display: block; max-height: 0; overflow-y: hidden; transition: all .2s; padding: 0 .5em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; white-space: nowrap; background: #d0e8ff; border-radius: .25em; margin-right: 1.75em; } + +@media (prefers-color-scheme: dark) { #source p .ctxs { background: #056; } } + +#source p .ctxs span { display: block; text-align: right; } + +#index { font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.875em; } + +#index table.index { margin-left: -.5em; } + +#index td, #index th { text-align: right; width: 5em; padding: .25em .5em; border-bottom: 1px solid #eee; } + +@media (prefers-color-scheme: dark) { #index td, #index th { border-color: #333; } } + +#index td.name, #index th.name { text-align: left; width: auto; } + +#index th { font-style: italic; color: #333; cursor: pointer; } + +@media (prefers-color-scheme: dark) { #index th { color: #ddd; } } + +#index th:hover { background: #eee; } + +@media (prefers-color-scheme: dark) { #index th:hover { background: #333; } } + +#index th[aria-sort="ascending"], #index th[aria-sort="descending"] { white-space: nowrap; background: #eee; padding-left: .5em; } + +@media (prefers-color-scheme: dark) { #index th[aria-sort="ascending"], #index th[aria-sort="descending"] { background: #333; } } + +#index th[aria-sort="ascending"]::after { font-family: sans-serif; content: " ↑"; } + +#index th[aria-sort="descending"]::after { font-family: sans-serif; content: " ↓"; } + +#index td.name a { text-decoration: none; color: inherit; } + +#index tr.total td, #index tr.total_dynamic td { font-weight: bold; border-top: 1px solid #ccc; border-bottom: none; } + +#index tr.file:hover { background: #eee; } + +@media (prefers-color-scheme: dark) { #index tr.file:hover { background: #333; } } + +#index tr.file:hover td.name { text-decoration: underline; color: inherit; } + +#scroll_marker { position: fixed; z-index: 3; right: 0; top: 0; width: 16px; height: 100%; background: #fff; border-left: 1px solid #eee; will-change: transform; } + +@media (prefers-color-scheme: dark) { #scroll_marker { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { #scroll_marker { border-color: #333; } } + +#scroll_marker .marker { background: #ccc; position: absolute; min-height: 3px; width: 100%; } + +@media (prefers-color-scheme: dark) { #scroll_marker .marker { background: #444; } }